Transaction-based Processor
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? |
Context
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.
Solution
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.
Related Patterns
Transaction-based Delivery, Relational Database, Watchdog, Timeout-based Message Processor