如何配置消费者生成的错误队列以使用与正常队列相同的路由键?

问题描述 投票:0回答:1

假设我有一个消费者:

public class TestConsumer : IConsumer<TestMessage> {
...

配置为使用路由密钥:

cfg.ReceiveEndpoint("test_queue", e=> {
  e.Bind<TestMessage>(x => {
    x.RoutingKey = "test_routing_key"
  });
});

它创建一个名为“test_queue”的队列,并使用路由键“test_routing_key”将其绑定到交换机。如果消费者捕获未处理的异常,它还会创建一个名为“test_queue_error”的错误队列,并将其绑定到没有路由键的“Fault-TestMessage”交换。

如何将生成的错误队列配置为使用所选路由键绑定到故障交换?

我无法在文档中找到如何执行此操作。如果不可能,那么我如何区分不同消费者为原始交换抛出的错误?

c# rabbitmq masstransit
1个回答
0
投票

名为

test_queue_error
的队列基于接收端点名称(与队列名称相同),并且队列没有路由键。只有交换绑定才有路由密钥。将错误队列与路由键“绑定”是没有意义的,因为 _error 队列与接收端点队列名称进行 1:1 映射。

© www.soinside.com 2019 - 2024. All rights reserved.