路由死信消息

Routing Dead-Lettered Messages

EasyNetQ 有没有办法在创建队列时设置 routing key [x-dead-letter-routing-key] 参数? (据我所知,您只能设置一个 DeadLetterExchange。)

IQueue updateCacheQueue = advancedBus.QueueDeclare(name: "UpdateCache", deadLetterExchange: "UpdatesDeadLetter");

RabbitMQ 假定交换优于队列。您可以创建一个只交付给一个队列的交换,这样您的 DLQ 寻址问题就解决了。如果您决定将来需要采取其他操作(例如存储消息以进行潜在的重新处理以及通过电子邮件进行警报操作),您可以在交换中执行此操作而不会弄乱队列处理器。

我在QueueDeclare方法中又添加了一个参数,创建了一个pull request,0.40.6.355版本以后可以设置