[英]Get full queue name from dispatcher RabbitMq
我将消息发送到队列中:
using (var dispatcher = new Dispatcher<Scheduler.Queue.Contract.JobMessage>(new QueueConnectionInfo(_connectionSettings)))
{
dispatcher.Dispatch(jobMessage.ToContract(), routingKey);
}
如果创建消费者,我可以轻松获取队列名称: consumer.QueueName
我如何获得队列的全名(如“Queue.{someComponent}.{someRoute}”),在哪个消息被调度?
你不能,因为 Pub Sub 模式确实保证发布者知道谁都是订阅者。 发布者只知道它要发布到的交换机,并且交换机会根据队列绑定和相应的路由密钥进行进一步的分叉。
然而,对于故障排除 RabbitMQ 确实为您提供了一个插件(不推荐用于生产,因为它资源繁重),该插件是Firehose插件,它还带有一个 UI,它为我们提供了从发布到所有队列的完整跟踪消息是路由它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.