Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 5 JMS Channels : Setting the JMS Message Acknowledgement Mode

Setting the JMS Message Acknowledgement Mode
JMS channels support connection to TIBCO Enterprise Message Service destinations. The default acknowledgement mode is EXPLICIT.
You can set the acknowledgement mode either of these two ways:
The destination setting overrides the property setting. To set the acknowledgement mode using a configuration property, use one of the following, depending on whether you are using topics or queues:
be.channel.tibjms.topic.ack.mode acknowledgement_mode_number
be.channel.tibjms.queue.ack.mode acknowledgement_mode_number
Where acknowledgement_mode_number is one of the numbers that represent an acknowledgement mode, as shown in Table 17.
Note that in TIBCO Enterprise Message Service, mode names are slightly different. They are prefixed with TIBEMS-. See TIBCO Enterprise Message Service User’s Guide for more details.
See Using CLIENT_ACKNOWLEDGE Mode with Websphere MQ and Cache-Aside for required configuration for Websphere MQ when cache-aside database write strategy is used.
EXPLICIT_CLIENT_ACKNOWLEDGE (TIBCO Proprietary)
EXPLICIT_CLIENT_ACKNOWLEDGE is like CLIENT_ACKNOWLEDGE except it acknowledges only the individual message, rather than all messages received so far on the session.
One example of when EXPLICIT_CLIENT_ACKNOWLEDGE would be used is when receiving messages and putting the information in a database. If the database insert operation is slow, you may want to use multiple application threads all doing simultaneous inserts. As each thread finishes its insert, it can use EXPLICIT_CLIENT_ACKNOWLEDGE to acknowledge only the message that it is currently working on.
EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE mode is like TIBEMS-DUPS-OK-ACKNOWLEDGE except it "lazily" acknowledges only the individual message, rather than all messages received so far on the session.
NO_ACKNOWLEDGE (TIBCO Proprietary)
Note  Sessions created in NO_ACKNOWLEDGE receipt mode cannot be used to create durable subscribers.
Note  Also, queue receivers on a queue that is routed from another server are not permitted to specify NO_ACKNOWLEDGE mode.
Using CLIENT_ACKNOWLEDGE Mode with Websphere MQ and Cache-Aside
The cache-aside database write strategy is multi-threaded. However, when Websphere MQ messages are sent using CLIENT_ACKNOWLEDGE_MODE, each message must be handled from start to finish using a single thread. To address this issue do the following:
1.
See CDD Collections Tab Input Destination Settings Reference.
2.
   Agent.agentClassName.enableParallelOps=false
Setting this property to false means that all post-RTC operations are done on a single thread.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved