jsr343-experts@jms-spec.java.net

[jsr343-experts] Re: Poison Message Handling

From: Nigel Deakin <nigel.deakin_at_oracle.com>
Date: Thu, 29 Mar 2012 13:50:13 +0100

If JMS specified a mechanism for dead-message queues it would need to define how they affect message order. My
suggestion would be that when a message from (say) queue1 is sent to a dead message queue (DMQ) it ceases to be in
queue1 and so can be treated as having been consumed from it. The order that then matters is the order in which messages
were sent to the DMQ.

We can consider the details later: for now I think we can treat these as separate issues.

Nigel

On 29/03/2012 12:28, Rüdiger zu Dohna wrote:
> Actually there's an interesting relationship between:
> JMS_SPEC-91New "relaxed message order" option
> JMS_SPEC-72 Poison message management
>
> If a message is considered poisonous, all other messages from the same sender have to be moved to the dead letter queue as well, because message ordering would not be guaranteed if one of them is missing... even messages being sent later would have to get there. This is possible, but I'm quite sure this is not something every JMS provider has considered, when they implemented DLQs.
>
> The only other way to stop poison messages from being delivered forever and still guaranteeing message ordering, would be to stop the destination entirely... which is not feasible.
>
> With the relaxed rules, DLQs can be implemented more easily.
>
> What do you think?
>
>
> Rüdiger