I tried another setup which seems to don't work either...<br><br>Here's my second setup:<br>-"my-exchange" bound to "my-queue"<br>-"my-ttl-exchange" bound to "my-ttl-queue" with a "x-message-ttl set to 5000".<br><br><br>- "my-queue" has a DLX set on "my-ttl-exchange'.<br>- "my-ttl-queue" has a DLX set on "my-exchange".<br><br>I have only one worker which consume my-queue.<br><br>So the scenario should be simple, a message is published into "my-exchange", which place the message into "my-queue".<br>The worker consume the message in "my-queue", <br>if the worker reject the message, it should be placed into "my-ttl-queue" with a ttl of 5 seconds.<br>Since there is no worker consuming "my-ttl-queue", the message ttl will expire and ... the message should be re-placed into "my-queue".<br><br>Basically, everythig work except the last part: once in "my-ttl-queue", the message does'nt seems to be placed in the correct DLX nor in the original queue...<br><br>So I assume cyclic DLX are not allowed ? <br><br><br>Le dimanche 28 octobre 2012 07:41:54 UTC+1, Ludovic Fleury a écrit&nbsp;:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">Hey,<br><br>I'm new to RabbitMQ and I try to use the dead letter exchange feature.<br>Yet, I don't know if I make a misstake or if I misunderstand the documentation about it:<br><br>As far as I read in the doc: <br><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">The dead-lettering process adds an array to the header of
        each dead-lettered message named <span>x-death</span>.&nbsp;</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">This array contains an entry for each time the message was
        dead-lettered.  <br>Each such entry is a table that consists
        of several fields</blockquote><div><br>So basically, I have 2 queues and 2 exchanges:<br>-"my-exchange" bound to "my-queue"<br>-"my-dead-exchange" bound to "my-dead-queue"<br><br>I have set a DLX on "my-queue" to "my-dead-exchange" and I have set another DLX on "my-dead-queue" to ... "my-dead-exchange".<br>The last DLX is a cylic DLX. I hope this is okay ?<br><br>When I first reject a message on "my queue", everything is okay: I have the message handled by "my-dead-exchange" and placed to "my-dead-queue".<br>But then, when I reject again the message... The message is not handled by "my-dead-exchange" and nor replaced into the "my-dead-queue".<br><br>With the documentation, I understand that: every time a message is rejecteted, I would be able to "count" the number of rejection by counting on the "x-death" header.<br>So instead of rejecting with a requeue, I would like to take advantage of this behavior by rejecting into a "cylic DLX" (to count the total of rejection for a message).<br><br>Is my implementation incorrect ? How can I handle this need in RabbitMQ ?<br>Thanks.<br></div><br></blockquote>