使用EasyNetQ进行主题发布

时间:2013-06-21 04:30:37

标签: 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 (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));
            }
        }

当我的代码发布到“A. ”时,消息不会发送到所有(或)任何队列。我试过“。*”,“#”

请建议

由于 Vamsee

1 个答案:

答案 0 :(得分:1)

你有错误的方法。您需要使用完整路由密钥发布每条消息。队列可以使用通配符或特定绑定键绑定,以便它们接收正确的消息。如果您为消费者提供代码,则可能更容易更准确地诊断问题