QuestionQ12

VerifiedDesigning integration solutions to meet reliability requirements

A manufacturing company needs to share inventory updates asynchronously and concurrently with dealers D1 and D2 through Queues Q1 and Q2. Dealer D1 must consume messages from Queue Q1, and Dealer D2 must consume messages from Queue Q2.

Dealer D1 has implemented a retry mechanism to reprocess the transaction if errors occur while processing the inventory updates. Dealer D2 has not implemented a retry mechanism.

How should the dealers acknowledge messages to prevent message loss while minimizing impact on the existing implementation?

Explanation

In Anypoint MQ, AUTO acknowledgement occurs only when flow processing completes successfully, allowing Dealer D1 to retain its existing retry behavior without adding acknowledgement logic. MANUAL acknowledgement allows Dealer D2 to send an ACK only after successful processing; if processing fails, the message is not acknowledged and can be redelivered. IMMEDIATE acknowledgement is unsuitable because it removes the message before processing, risking message loss after a failure.

Learn more

Community Discussion

No comments yet. Be the first to start the discussion!