Search code examples
message-queueamqpmq

Do any MQ servers support fail/retry?


We are in need of a queuing solution for one of my team's apps. Ideally we'd like the message consumers to pull a message, process it, but place it back on the queue if processing failed for whatever reason (so that it can be retried a few minutes later). Are there any MQ servers out there that support this workflow?


Solution

  • Any JMS compliant messaging provider should do this. Some also provide this functionality in a native API. For example, WebSphere MQ has both local units of work and global (XA) units of work through JTA and a native API. Some technologies hide this from you. For example, depending on your settings, the JMS classes may "auto-acknowledge" messages by committing them.

    If you wish to try WebSphere MQ, the server is available through the Trial Download and is a paid license after the trial. However, the clients are free and the server can handle thousands of simultaneous clients and hundreds to tens of thousands of messages per second, depending on the server class. The documentation is available free and without registration here.