Friday, March 13, 2009

Why doesn't the JMS API provide end-to-end synchronous message

Question:Why doesn't the JMS API provide end-to-end synchronous message
delivery and notification of delivery? (JMS)

Answer :Some messaging systems provide synchronous delivery to destinations as
a mechanism for implementing reliable applications. Some systems provide
clients with various forms of delivery notification so that the clients can
detect dropped or ignored messages. This is not the model defined by the
JMS API.
JMS API messaging provides guaranteed delivery via the once-and-onlyonce
delivery semantics of PERSISTENT messages. In addition, message
consumers can insure reliable processing of messages by using either
CLIENT_ACKNOWLEDGE mode or transacted sessions. This achieves
reliable delivery with minimum synchronization and is the enterprise
messaging model most vendors and developers prefer.
The JMS API does not define a schema of systems messages (such as
delivery notifications). If an application requires acknowledgment of
message receipt, it can define an application-level acknowledgment
message.

No comments: