[rabbitmq-discuss] Dead letter message don't show up
Tim Watson
tim at rabbitmq.com
Fri Nov 15 09:21:25 GMT 2013
Hi,
On 15 Nov 2013, at 02:15, Huang Tonglang wrote:
> I declare the dead letter in producer side as following:
>
> channel.exchangeDeclare("dead-exchange", "direct");
Ok.
>
> Map<String, Object> args = new HashMap<String, Object>();
> args.put("x-dead-letter-exchange", "dead-exchange1");
> args.put("x-dead-letter-routing-key", "dead-exchange-routing-key");
>
That's pointing to 'dead-exchange1' instead of 'dead-exchange' - did you mean to do that?
> channel.queueDeclare(“myqueue”, false, false, false, args);
>
> channel.queueDeclare("dead-exchange-routing-key", false, false, false, null);
> String message = "Hello World!”;
> channel.basicPublish("",“myqueue”, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());
You probably also want to bind the 'dead-exchange-routing-key' to 'dead-exchange' as well. With a direct exchange, messages go to the queues whose `binding key' exactly matches the routing key of the message. Only the default exchange (called "") will "magically" route messages whose routing key matches a queue's name.
Cheers,
Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20131115/4ac1d6c6/attachment.htm>
More information about the rabbitmq-discuss
mailing list