Fab*_*ito 7 exchange-server amqp rabbitmq dead-letter
我正在尝试在RabbitMQ中实现一个dlx队列.这个场景非常简单我有两个队列:1)活着2)死(x-dead-letter-exchange:"立即",x-message-ttl:5000)
和"立即"的交换必须1)活着
我试图运行这个例子:http: //blog.james-carr.org/2012/03/30/rabbitmq-sending-a-message-to-be-consumed-later/ 但似乎消息在删除后丢失ttl到期并且它们不会在交换机上发布,所以我的活动队列总是空的.
我还尝试在管理控制台中手动创建队列,我得到了相同的行为.
我用Ubuntu/rabbitmq 3.0.0以及Mac OS X和rabbitmq 2.8.7测试了它
我错过了什么吗?
当RabbitMQ中的消息"消失"时,问题通常归结为绑定.因此,为了让您的示例正常工作,我执行了以下操作:
创建了两个队列,活着,死了(使用TTL和DLX)
创建了一个名为DIRECT类型的立即交换
使用路由密钥"dead"在交换"immediate"和"alive"队列之间创建绑定 - 原因是,消息进入死队列的路由密钥(如果使用默认交换是'死'这个需要匹配死信交换中的绑定).
这里的重要部分是立即交换和活动队列之间的绑定.
为了测试我在死队列中发布了一条消息,我可以看到它在死队列中短暂出现然后出现在活动队列中.
| 归档时间: |
|
| 查看次数: |
4523 次 |
| 最近记录: |