RabbitMQ dead letter exchange never getting messages

前端 未结 7 941
陌清茗
陌清茗 2020-12-12 13:08

I\'m trying to setup my first RabbitMQ dead letter exchange, here are the steps I\'m using through the web admin interface:

  1. Create new DIRECT exchange with the
7条回答
  •  时光说笑
    2020-12-12 13:41

    Dead Letter Exchange without routing key and with direct exchange


    Follow the steps these will work for sure:-
    1. Create a new queue named 'dead_queue'.
    2. Create an exchange named 'dead_exchange' and type of exchange should be 'direct'.
    3. Bind 'dead_queue' and 'dead_exchange' without routing key.
    4. Create a new queue named 'test_queue' and set its 'x-dead-letter-exchange' name as 'dead_exchange'
    5. Create an exchange named 'test_exchange' and type of exchange should be 'direct'
    6. Bind 'test_exchange' and 'test_queue' without routing key.

    And at last we will check it. For this publish something on 'test_exchange' with argument 'expiration' set to 10000. After this when a message is publish on 'test_exchange' it will go to 'test_queue' and when a message is expired with in a queue it will look for DLX Parameter(Dead Letter Exchange name) there that message find the name 'dead_exchange' then that message will reach 'dead_exchange' deliver it to 'dead queue' .. If still you have any problem regarding this and if i miss understood your problem... write your problem i will surely look over it... Thanks..

    Note: Must publish the message on 'test_exchange' because that test_queue and test_exchange binding is without routing key and it will work fine but If you publish message on 'test_queue' default exchange and routing key will be used.Then after expiration of message queue tries to deliver that dead message to dead_exchange with some default routing key and message will not go to that queue.

提交回复
热议问题