Integration Server 10.3 | JMS Client Development Guide | Working with JMS Triggers | Exactly-Once Processing for JMS Triggers | Configuring Exactly-Once Processing for a JMS Trigger
 
Configuring Exactly-Once Processing for a JMS Trigger
 
Disabling Exactly-Once Processing for a JMS Trigger
Configure exactly-once processing for a JMS trigger when you want the trigger to process persistent messages once and only once. If it is acceptable for a trigger service to process duplicates of a message, you should not configure exactly-once processing for the trigger.
Keep the following points in mind when configuring exactly-once processing:
*Integration Server can perform exactly-once processing for persistent messages only. The sending client must set the JMSDeliveryMode to persistent.
*The JMS trigger must specify CLIENT_ACKNOWLEDGE for the acknowledgement mode.
*You do not need to configure all three methods of duplicate detection. However, if you want to ensure exactly-once processing, you must use a document history database or implement a custom solution using the document resolver service.
A document history database offers a simpler approach than building a custom solution and will typically catch all duplicate messages. There may be exceptions depending on your implementation. For more information about these exceptions, see Building a Transacted JMS Trigger. To minimize these exceptions, it is recommended that you use a history database and a document resolver service.
*Stand-alone Integration Servers cannot share a document history database. Only a cluster of Integration Servers or a non-clustered group of Integration Servers can (and must) share a document history database.
*Make sure the duplicate detection window set by the History time to live property is long enough to catch duplicate messages but does not cause the document history database to consume too many server resources. If sending JMS clients reliably send messages once, you might use a smaller duplicate detection window. If the JMS clients are prone to sending duplicate messages, consider setting a longer duplicate detection window.
*If you intend to use a document history database as part of duplicate detection, you must first install the document history database component and associate it with a JDBC connection pool. For instructions, see Installing Software AG Products.
Note:
For detailed information about exactly-once processing for messages received by JMS triggers, see Using webMethods Integration Server to Build a Client for JMS.
*To configure exactly-once processing for a JMS trigger
1. In the Package Navigator view of Designer, open the JMS trigger for which you want to configure exactly-once processing.
2. In the Properties view, under Exactly Once, set the Detect duplicates property to True.
3. To use a document history database as part of duplicate detection, do the following:
a. Set the Use history property to True.
b. In the History time to live property, specify how long the document history database maintains an entry for a message processed by this trigger. This value determines the length of the duplicate detection window.
4. To use a service that you create to resolve the status of In Doubt messages, specify that service in the Document resolver service property.
5. Click File > Save.