Transaction-based Delivery
Clients retrieve messages under a transactional context to ensure that messages are received by a handling component.
How can it be ensured that messages are only deleted from a message queue if they have been received successfully? |
Context
While a Message-oriented Middleware can control traversing messages, it may be necessary to assure that messages are actually received successfully from a message queue by the client.
Solution
The Message-oriented Middleware and the client reading a message from a queue participate in a transaction. All operations involved in the reception of a message are, therefore, performed under one transactional context guaranteeing ACID behavior.