Assigning an Activation to a JMS Message
An activation is a unique identifier assigned to a message that will be processed by a JMS trigger that contains a join. A join specifies that a JMS trigger handles messages received from two or more destinations as a single unit and with a single routing rule. The JMS trigger needs to receive messages from all, only one, or any of the destinations before it executes the associated routing rule.
Because a JMS trigger can receive multiple messages from the destinations, Integration Server uses the activation value to identify the set of messages processed by an instance of a join.
For an All (AND) join,
Integration Server waits until it receives messages with the same
activation from each destination before executing the routing rule.
For an Only one (XOR) join,
Integration Server executes the routing rule after it receives a message from any destination in the join; however, the JMS trigger discards messages with the same
activation received from the other destinations for the duration of the join time-out.
For an Any (OR) join,
Integration Server executes the routing rule when it receives messages from any destination in the join.
Integration Server does not use the
activation value when processing JMS triggers with an Any (OR) join.
When the JMS trigger receives messages with a different activation from one the destinations, Integration Server treats it as another instance of the join.
Integration Server stores the activation in the activation field of a JMS message, specifically, JMSMessage/properties/activation. The activation field is of type String.You assign an activation to a message manually. Integration Server does not assign an activation automatically.