Rabbitmq 使用EasyNetQ进行基于主题的发布
我正在尝试通过easynetQ使用基于主题的路由。 在我的设置中,我有3个队列(“A.B”、“A.C”、“B.C”)和交换“ex”。所有三个队列都通过路由键“A.B”、“A.C”、“B.C”连接到“ex” 下面是我的代码Rabbitmq 使用EasyNetQ进行基于主题的发布,rabbitmq,publish,easynetq,Rabbitmq,Publish,Easynetq,我正在尝试通过easynetQ使用基于主题的路由。 在我的设置中,我有3个队列(“A.B”、“A.C”、“B.C”)和交换“ex”。所有三个队列都通过路由键“A.B”、“A.C”、“B.C”连接到“ex” 下面是我的代码 var bus = RabbitHutch.CreateBus(MQConnectionString).Advanced; var exchange = Exchange.DeclareTopic("ex"); using (va
var bus = RabbitHutch.CreateBus(MQConnectionString).Advanced;
var exchange = Exchange.DeclareTopic("ex");
using (var publishChannel = bus.OpenPublishChannel())
{
Message pat = new Message();
while (i++ < 10)
{
pat.Name = "Vamsee-" + i;
pat.ID = Guid.NewGuid().ToString();
if(i%3==0)
publishChannel.Publish(exchange, "A.*", new Message<Message>(pat));
else
publishChannel.Publish(exchange, "A.C", new Message<Message>(pat));
}
}
var bus=RabbitHutch.CreateBus(MQConnectionString).Advanced;
风险值交换=交易申报表(“ex”);
使用(var publishChannel=bus.OpenPublishChannel())
{
Message pat=新消息();
而(i++<10)
{
pat.Name=“Vamsee-”+i;
pat.ID=Guid.NewGuid().ToString();
如果(i%3==0)
publishChannel.Publish(交换“A.*”,新消息(pat));
其他的
publishChannel.Publish(交换“A.C”,新消息(pat));
}
}
在这里,当我的代码发布到“A.”时,消息不会发送到所有(或)任何队列。我也试过“*”、“#”
请建议
谢谢
Vamsee你把它搞错了。您需要使用完整的路由密钥发布每条消息。队列可以使用通配符或特定的绑定密钥绑定,以便接收正确的消息。如果您为您的消费者提供了代码,则可能更容易更准确地诊断问题您的方法是错误的。您需要使用完整的路由密钥发布每条消息。队列可以使用通配符或特定的绑定密钥绑定,以便接收正确的消息。如果您为您的消费者提供了代码,则可能更容易更准确地诊断问题