我想知道是否可以将RabbitMQ配置为在将消息传递到另一个(主题)交换机一段时间之后将消息移动到DLX而不会被传递到任何队列并消耗掉?
我见过的所有示例都要求存在队列,因为必须在队列中声明DLX映射。但是如果 没有 队列呢?
在我的情况下,客户端声明在客户端关闭连接时消失的自动删除队列。这会导致主题交换上的发布者出现问题,从未通知该消息在分配的时间内不可能被消费。
FWIW,我正在使用C#中的RabbitMQ。
[UPDATE]
我发现article似乎表明除了DLX之外我还需要设置一个名为备用交换的东西,因为DLX只接收已经路由的消息。我目前正在努力了解它应该如何运作。
进一步的建议表示赞赏!
答案 0 :(得分:1)
查看alternate exchange docs article
在声明主要交换时,您可以提供alternate exchange
的名称作为参数。
alternate exhange
并将其设为fanout
类型。 现在所有未路由的消息都应该在该队列中结束。