Show TOC Start of Content Area

This graphic is explained in the accompanying text Message Acknowledgement  Locate the document in its SAP Library structure

When you create a new session, you specify the acknowledgement type. The JMS Provider allows the messages to be acknowledged both implicitly and explicitly. The acknowledgement depends on the type of the session.

If the session is not transacted, there are a few types of acknowledgement:

      DUPS_OK_ACKNOWLEDGE– this acknowledgment mode instructs the session to lazily acknowledge the delivery of messages. This is likely to result in the delivery of duplicate messages if the JMS Provider crashes, so it should only be used by consumers that can tolerate duplicate messages. Use of this mode can reduce session overheads by minimizing the work the session does to prevent duplicates.

      AUTO_ACKNOWLEDGE – this enables automatic session acknowledgement when the client receives messages, if the message receipt was successful or if the MessageListener called by the message is returned successfully.

      CLIENT_ACKNOWLEDGE – with this acknowledgment mode, the client acknowledges a consumed message by calling the message's acknowledge method. Acknowledging a consumed message acknowledges all messages that the session has consumed. When client acknowledgment mode is used, a client may build up a large number of unacknowledged messages while attempting to process them.

Applications that use the automated modes AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE do not have control over the acknowledgement mechanism, and therefore do not know whether the consumer has already acknowledged the receipt of a particular message. This becomes an issue if there is a server crash or restart, for example. As a result, after the server is up again, the provider can potentially resend the last message sent (with the mode AUTO_ACKNOWLEDGE) or all messages sent since the last successful acknowledgement (with the mode DUPS_OK_ACKNOWLEDGE).

 

End of Content Area