簡稱DLXruby
若是一個queue設置了DLX,那麼在rabbitmq的管理控制檯中的這個queue上就會多個標誌,如圖:code
邊上還有DLK,是dead-letter-routing-key的縮寫。
blog
隊列中的消息,有多是'dead-lettered',字面意思就是'死信',當下面的這些狀況發生時,信就被認爲是‘死信’,這些死信會被送至另外一個exchange,這個exchange就是DLX:rabbitmq
DLX默認是沒有的,有兩種方法設置,這裏使用代碼在聲明隊列的時候設置:隊列
Queue.declare( channel, "myqueue", durable: true, arguments: [ # 這裏空字符串表示用default exchange,能夠設置任意的exchange {"x-dead-letter-exchange", :longstr, ""}, # 若是這個不設置, 默認使用這個消息的routing key {"x-dead-letter-routing-key", :longstr, "my.error.message"} ] )