简称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"} ] )