How to set a Flow Limit for a given BusinessWorks 6.X or BusinessWorks Container Edition Component
The Flow Limit mechanism of BusinessWorks is a mean to limit the number of instances of a given Process running simultaneously for an application in an appnode. In other words this is a mechanism to control the parallelism of execution of processes exposing a Component or started by a Process Starter activity.
This BusinessWorks mechanism is available for all transports managed in BusinessWorks (JMS, File Poller, etc) but this is not the most efficient for some transports.
The Flow Limit can be enabled using a property managed in the config.ini file of the target appspace or appnode as explained in the template appspace config.ini file :
This article is mainly to explain how to get the needed elements to use this mechanism.
How to set a Flow Limit for a given Component
You first need to identify the application name and version, this is available in Studio in the Package Unit / Overview panel of the application project:
You can also get those elements using the following bwadmin command:
show -d <DOMAIN_NAME> -a <APPSPACE_NAME> applications
You then need to find the Component name, this is available in Studio in the Module Descriptors / Components panel of the module project:
You can also get this element using the following bwadmin command :
getcomponents -d <DOMAIN_NAME> -a <APPSPACE_NAME> -n <APPNODE_NAME> <APPLICATION_NAME> <APPLICATION_VERSION>
Once you have collected the above elements you can set the flow limit by adding a property in the config.ini file of the target appspace (to apply to all appnodes of the appspace) or in the config.ini file of each appnode of the appspace (to have different values for each appnode).
In the example above, we have the following elements:
Application name = OrderProcessing.application
Application version = 1.0
Component Name = ComponentProcess
So the property to add to never have more than two instances of the process ‘OrderFileProcessing’ running at the same time is the following:
Note that the Flow Limit parameter can be defined for all Processes of a given application by using just the application name, for example:
This feature is also available in BusinessWorks Container Edition (BWCE) environment, details are available in the following support Knowledge Base article :