繁体   English   中英

从调度程序 RabbitMq 获取完整的队列名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM