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.

The properties of this policy are described in the following table.
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:
  • None: No action is taken (this is the default).
  • restartExecutionGroup: The action that is taken depends on whether the integration server is independent or managed by an integration node:
    • Independent integration server: The IntegrationServer process terminates. The infrastructure that started the IntegrationServer process is responsible for restarting it.
    • Integration server that is managed by an integration node: The integration server is restarted by the integration node.

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:
  • Maintained (the default)
  • Manual
  • Automatic

Value type: String