在EasyNetQ中,有没有办法在创建队列时设置routing key [x-dead-letter-routing-key]参数?(据我所知,您只能设置DeadLetterExchange。)
IQueue updateCacheQueue = advancedBus.QueueDeclare(name: "UpdateCache", deadLetterExchange: "UpdatesDeadLetter");
在EasyNetQ中,有没有办法在创建队列时设置routing key [x-dead-letter-routing-key]参数?(据我所知,您只能设置DeadLetterExchange。)
IQueue updateCacheQueue = advancedBus.QueueDeclare(name: "UpdateCache", deadLetterExchange: "UpdatesDeadLetter");
2条答案
按热度按时间voase2hg1#
RabbitMQ假设交换优于队列。您可以创建一个只向一个队列发送消息的交换,这样您的DLQ寻址问题就解决了。如果您决定在将来需要采取额外的操作(例如,存储消息以备可能的重新处理,以及通过电子邮件进行警报操作),您可以在交换中执行这些操作,而不会使队列处理器变得一团糟。
wi3ka0sx2#
我在
QueueDeclare
方法中添加了另一个参数,并创建了一个pull请求,您可以在版本0.40.6.355之后设置它