Guidelines for Building a JMS Trigger that Performs Ordered Service Execution
Use the following general guidelines to build a JMS trigger that performs ordered service execution.
Because the JMS provider cannot guarantee message order across destinations, the JMS trigger must specify a single destination. That is, the JMS trigger cannot include a join.
Each routing rule, except the last one, must contain a local filter. For example, you might create a filter based on a custom property that the sending client adds to the message.
Integration Server uses the local filters to differentiate between the messages. Without a local filter, only the first routing rule would ever execute.
Routing rules must appear in the order in which you want the messages to be processed. Each routing rule must have a unique name.
Set the
Processing mode property to serial to ensure that the
Integration Server processes the messages in the same order in which the JMS trigger receives them. Serial processing ensures that the services that process the messages do not execute at the same time.
Set
Max batch messages to 1 (the default). When a trigger service processes a batch of messages,
Integration Server only applies the filter to the first message in the batch.
Important:
Messages must be sent to JMS provider in the same order in which you want the messages to be processed.