假设我有一个消费者:
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”交换。
如何将生成的错误队列配置为使用所选路由键绑定到故障交换?
我无法在文档中找到如何执行此操作。如果不可能,那么我如何区分不同消费者为原始交换抛出的错误?
名为
test_queue_error
的队列基于接收端点名称(与队列名称相同),并且队列没有路由键。只有交换绑定才有路由密钥。将错误队列与路由键“绑定”是没有意义的,因为 _error 队列与接收端点队列名称进行 1:1 映射。