Components receive messages or read data and process the obtained information under a transactional context to ensure that all received messages are processes and all altered data is consistent after processing, respectively.
|How can an application component ensure that all messages it receives are processed successfully and altered data is persisted successfully after processing?|
A Message-oriented Middleware can use Transaction-based Delivery of messages to ensure that messages are received successfully by a client. However, using this approach no assurances can be made regarding the processing of that received message.
Transaction-based Delivery subsumes reading the message from a queue and deleting it from a queue in one transaction. The Transaction-based Processor extends the transactional context to the processing of the message in the receiver. Analogous, if interacting with a storage offering, the Transaction-based Processor reads, processes and writes data in one transactional context.