On 11/16/2011 12:16 PM, Tomáš Šoltys wrote:
Hi all,

I have a three exchanges. Let's say E1, E2, E3 where E2 is alternate
exchange of E1 and E3 is alternate exchange of E2.
If a message can not be routed to E1, then it should go to E2. This
works. But if it can not be routed to E2 it should go to E3, but it
does not.

Is this intended behaviour?

The AMQP 0-10 specification has a rule ('double-failure' on p216), that states:

    A message which is being routed to a alternate exchange,
    MUST NOT be re-routed to a secondary alternate exchange
    if it fails to route in the primary alternate exchange.
    After such a failure, the message MUST be dropped. This
    prevents looping.

Any other behaviour would be a deviation from the specification (and of course would need to include detection of loops, at which point message would presumably be dropped).

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to