In March 2018, support for creating and updating Work Managers was added to the WebLogic plugin for FlexDeploy. For users of the createOrUpdateWeblogicConfig operation, the only change needed is to add new Work Manager property file(s) in source control system. The WLConfig operation will process Work Managers after completing the JMS, DataSource, and EIS Entry operations. For users that don’t want to process JMS, DataSource, EIS and Work Manager entries together, the new createOrUpdateWorkManagers operation can be used.

Here is an example of build and deploy workflow.

Build Workflow

This workflow checks the property files out of source control and saves them as artifacts. Steps of the workflow are…

  1. Built-in workflow SCM-ExportSource which will use appropriate export operation based on Project’s SCM Type selection. You can instead use specific operation like Git – cloneProjectSources if you are using Git as SCM.
  2. File – saveArtifacts operation. Note that we are using variable for Source Subfolder. This is necessary as project may be configured with or without checkout folder and there are might other folders in exported folder structure. This allows us to just capture configuration files as Artifacts.

Deploy Workflow

This workflow executes the property files using the WLConfig operation. You can use the createOrUpdateWorkManagers operation if you only want to process Work Managers. Steps of the workflow are…

  1. Oracle WebLogic – createOrUpdateWeblogicConfiguration operation. This operation will detect all WebLogic configuration files and process them appropriately.

Work Managers and the associated Max and Min Threads constraints, Capacities, and request classes can be managed through the property file configuration. Fair Share, Response Time, and Context Request classes are all supported. The artifact used to store the settings for these items is a property file. Here is an example property file to help explain the different settings.

#Pound signs make comments.
 
WorkManagerList=myWorkManager
 
myWorkManager.Targets=AdminServer,SOA_Cluster
myWorkManager.MaxThreads=5
myWorkManager.MinThreads=1
myWorkManager.CapacityCount=3
myWorkManager.StuckThreadBehavior=Manual
myWorkManager.StuckThreadCount=23
myWorkManager.MaxStuckThreadTime=12
myWorkManager.ResumeWhenUnstuck=false
myWorkManager.Notes=This work manager was made by FlexDeploy.
 
 
#Pick at most one of these.
#myWorkManager.FairShareRequest=50
#myWorkManager.ResponseTimeRequest=250
myWorkManager.ContextRequestList=contextRequest1,contextRequest2,contextRequest3


#you can provide UserName, GroupName, and/or RequestClassName for each Context Request in the list.
myWorkManager.contextRequest1.UserName=weblogic
 
myWorkManager.contextRequest2.GroupName=administrators
 
myWorkManager.contextRequest3.GroupName=users
myWorkManager.contextRequest3.RequestClassName=ImportantClass

The property file will create a Work Manager named myWorkManager, a Max Threads Constraint named myWorkManager_MaxThreads_FD, a Min Threads Constraint named myWorkManager_MinThreads_FD, a Capacity Constraint named myWorkManager_Capacity_FD, a Context Request Class named myWorkManager_ContextRequestClass_FD, and three Context Request Class Cases.

Here are screenshots of the above Work Manager configurations in  the WebLogic Console.

See documentation at FlexDeploy Documentation for more details.

Karl Henselin

I have an achievement and responsibility-driven personality and will work with integrity to honor God and serve people. I have a moral compass and a vision for the future. I have been coding for 12 years, 3 years at Flexagon. My primary focuses at Flexagon have been development and maintenance of plugins and devops improvements to our internal processes. I consult in a variety of technologies and enjoy learning new things.

More posts by Karl Henselin
    

Leave a Reply

Your email address will not be published. Required fields are marked *