Workload Management policy (WorkloadManagement)
Use a Workload Management policy to control workload management at run time without the need to redeploy your resources.
You use workload management to monitor and manage message flows, adjust the speed that messages are processed, and control the actions that are taken for unresponsive flows and threads (see Workload management). You attach a Workload Management policy to a message flow so that you can change workload management properties at run time. You cannot attach a Workload Management policy to a subflow.
If you redeploy a WorkloadManagement policy, all message flows that are using the policy will be stopped and restarted.
Property | Property name in .policyxml file | Value |
---|---|---|
Notification threshold (messages per second) | notificationThresholdMsgsPerSec | This property specifies when a notification message is published
to indicate that the message rate for messages that have arrived in
the flow has exceeded the threshold. The message rate measures the
total number of messages that are processed every second. This property
has a default value of 0, which means that
notifications are disabled. Value type: Integer |
Maximum rate (messages per second) | maximumRateMsgsPerSec | This property specifies the maximum rate at which the message
flow can process messages. The maximum rate is specified as the total
number of input messages that are processed every second. If necessary,
a processing delay is introduced to the keep the input message-processing
rate under the maximum rate setting. This property has a default value
of 0, which means that there is no maximum
limit. Value type: Integer |
Processing timeout (seconds) | processingTimeoutSec | This property specifies the time (in seconds) that a message
flow can take to process a message before the timeout action is taken.
The time is taken from the point when a message is received by an
input node. This property has a default value of 0,
which means that there is no limit on the processing time. Value type: Integer |
Processing timeout action | processingTimeoutAction | This property specifies the action to be taken when the timeout value that is defined by the
Processing timeout (seconds) property is exceeded. You can set this property to
one of the following values:
Value type: String |
Additional instances | additionalInstances | This property specifies the number of additional threads that
the integration server can use to service
the message flow. The value of this property can be any positive integer,
but the default value is 0. Value type: Integer |
Start additional instances when flow starts | startInstancesWhenFlowStarts | This property specifies whether all additional instance threads
start when the flow starts. If you set this property to True,
both message flow-scoped and message flow node-scoped instances start.
This property has a default value of False. Value type: Boolean |
Commit count | commitCount | This property specifies the number of input messages that are
processed on a data capture thread before a sync point is taken. The
default value for this property is 1. Value type: Integer |
Commit interval | commitInterval | This property is used when the Commit count property
is greater than one, which indicates that the message flow is processing
messages in batches, but the number of messages that are processed
has not reached the value of the Commit count property.
The Commit interval property specifies the time
interval (in seconds) after which a commit is taken. This property
has a default value of 0. Value type: Decimal |
Start mode | startMode | This property specifies the default behavior of message flows
and applications when you deploy or restart an integration server. You can set this property
to one of the following values:
Value type: String |