OSB and Thread Pools
By MarkSmith on Jul 22, 2008
If there was a top 10 Best Practices for Oracle Service Bus (previously known as ALSB), then allocating a Work Manager for each JMS based proxy would probably be included. A Work Manager defines a set of request classes and thread constraints that manage work performed by WebLogic Servers. If you don’t explicitly define your Dispatch Policy on your JMS Proxy, then it will run in the default thread pool with everything else. This may be fine in some cases, but for services that require a short SLA, then allocating a dedicated Work Manager is probably a good idea.
For those OSB Administrators out there, I have another WLST script example that demonstrates how to automate this process. The example script creates a Work Manager within WebLogic Server and then allocates that Work Manager to a Proxy Service. The local environment variables (including total threads) have been extracted out to a property file, so it can easily be adapted to your environment.
Here is an extract from a script that assigns a Work Manager to a OSB Proxy Service:
proxyPath = [g_project_name,g_folder_name,g_proxy_name]
nonQualifiedEnv = NonQualifiedEnvValue("Work Manager", None, g_work_manager_name)
qualifiedEnv = QualifiedEnvValue(Ref(TypeIds.PROXY_REF,proxyPath),nonQualifiedEnv)
newWorkManager = ArrayList()
print 'Assigned new value for Work Manager'