Timeout-based Message Processor

Clients acknowledge message receptions and processing to ensure that all messages are handled by an application. If a message is not acknowledged after a certain timeout, it is processed by a different client.

Timeout-based Message Processor How can an application process messages while guaranteeing that all messages handled by the application are processed at-least-once?

Context

A Message-oriented Middleware uses Timeout-based Delivery to ensure that messages are received successfully by at least one client. Additionally, it shall be assured by the application that a message has also been properly processed after its reception.

Solution

Instead of sending an acknowledgement right after receiving a message, a timeout-based message processor sends this acknowledgement after it has successfully processed the message.

Timeout-based Message Processor

Timeout-based Delivery, Watchdog, Transaction-based Processor