Operational policy

Use operational policies to control the behavior of message flows, and the nodes within message flows, at run time without the need to redeploy your resources.

An operational policy enables you to define a common approach to controlling particular node properties, such as connection credentials, and certain aspects of message flow behavior, including flow rate. Operational policies provide a shared and managed definition that you can reuse, and they enable the following user capabilities:
  • Developers - the ability to reuse configuration information in multiple places.
  • Administrators - the ability to define key configuration data for each environment.
  • Operators - the ability to monitor and dynamically modify configuration data.
Policies can be created and updated at any time in the solution lifecycle. A policy instance is made up of a set of defined operational properties that are stored in a policy document, and a policy instance can be attached to one or more entities that you want to control, for example, message flows, message flow nodes, or other administrative entities.

For message flows and message flow nodes, you can attach a policy during development, or at build time with a BAR file override. Some types of policy can be attached after a solution is deployed.

For message flow nodes, you can set a property value in several places; during flow development, with a BAR file override, or by attaching a policy. The following precedence rules apply to the operational property values for message flow nodes:
  1. An operational property value set in a policy takes precedence over a value that is overridden in a BAR file or set on the node.
  2. When there is no policy for an operational property value, the value that is overridden in a BAR file takes precedence over the value that is set on the node.
  3. When there is no policy or BAR file override for an operational property value, the value that is set on the node takes precedence.
Tip: If you designed your message flow to include a local environment override, any property value that is set by the local environment override takes precedence over a value that is set by an operational policy, a BAR file override, or on the node.

When a policy instance is attached to a message flow, or to a message flow node, and updates are made to that policy instance, a dynamic refresh of the affected message flow, or message flow node, takes place. You do not need to redeploy your resources for the updates to take effect. Update requests can be viewed in the web user interface by clicking Monitoring > Admin Log in the navigation tree.

The following operational policy types are available:

MQEndpoint policy
An MQEndpoint policy can be attached to one or more MQ nodes in a message flow to control connection details at run time. For more information, see MQEndpoint policy.
MQTTPublish policy
An MQTTPublish policy can be attached to one or more MQTTPublish nodes in a message flow to control the value of specific MQ Telemetry Transport (MQTT) publishing properties at run time. For more information, see MQTTPublish policy.
MQTTSubscribe policy
An MQTTSubscribe policy can be attached to one or more MQTTSubscribe nodes in a message flow to control the value of specific MQ Telemetry Transport (MQTT) subscription properties at run time. For more information, see MQTTSubscribe policy.
Workload management policy
A workload management policy can be attached to a message flow to tune the performance of the message flow. For more information, see Workload management policy.