rhino - 如何使用 Rhino Service Bus 为多个订阅者配置 pub sub?

标签 rhino servicebus

我正在尝试使用 Rhino 服务总线在 1 个发布者和多个订阅者之间设置发布-订阅。然而,我似乎得到的只是竞争消费者(消息在一个消费者或另一个消费者之间分发,但不发送给两者)。

我当前的发布者配置如下所示(注意:我使用的是新的 OnewayRhinoServiceBusFacility,所以我不需要在发送者中定义总线元素)

<facility id="rhino.esb.sender" >
        <messages>
            <add name="My.Messages.Namespace" endpoint="msmq://localhost/my.queue"/>
        </messages>
</facility>

我当前的订阅者配置如下所示:

<facility id="rhino.esb.receiver" >
    <bus threadCount="1" numberOfRetries="5" endpoint="msmq://localhost/my.queue" DisableAutoQueueCreation="false" />
    <messages>
        <add name="My.Messages.Namespace" endpoint="msmq://localhost/my.queue" />
    </messages>
</facility>

我有 2 个启动发布者和订阅者的简单命令行应用程序。我只是复制并粘贴订阅者 bin 来设置 2 个订阅者。我的消息处理程序如下所示:

public class DummyReceiver : ConsumerOf<MyMessageType>
{
    public void Consume(MyMessageType message)
    {
                    // ......
            }
    }

有什么想法吗?干杯

最佳答案

呸!在我的生产者代码中使用发送而不是发布。从另一个示例中复制了它而忘记更改。

所以,作为引用,我的发布者代码是这样的:

var container = new WindsorContainer(new XmlInterpreter("RhinoEsbSettings.xml"));
RhinoServiceBusFacility facility = new RhinoServiceBusFacility();
container.Kernel.AddFacility("rhino.esb", facility);

var bus = container.Resolve<IStartableServiceBus>();
bus.Start();

MyMessageType msg = new ...
bus.Publish(msg);

而我的消费者启动代码是这样的:

var container = new WindsorContainer(new XmlInterpreter("RhinoEsbSettings.xml"));
container.Register(Component.For<ConsumerOf<MyMessageType>>().ImplementedBy<DummyReceiver>().LifeStyle.Transient.Named("Consumer"));

RhinoServiceBusFacility facility = new RhinoServiceBusFacility();
container.Kernel.AddFacility("rhino.esb", facility);

var bus = container.Resolve<IStartableServiceBus>();
bus.Start();

关于rhino - 如何使用 Rhino Service Bus 为多个订阅者配置 pub sub?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1772296/

相关文章:

javascript - 在哪里可以找到 XMLHttpRequest 实现?

javascript - Emacs 上的 js-comint 模式 : NoClassDefFoundError

linux - 使用 qpid-proton-c 通过 AMQP 发送消息失败,并出现错误 SSL Failure : Unknown error

asp.net-mvc - 如何让 ASP.NET MVC 应用程序从 Azure 服务总线队列读取数据?

javascript - 如何从 Javascript 将字符串写入标准输出

java - JSP 中的 Rhino 变量

nservicebus - 什么是服务总线?

c# - Azure ServiceBus 和异步 - 是,还是不是?

azure - 无法从 Azure 中的移动服务访问 WCF 服务

javascript - 嵌入式浏览器中的JS与原生代码的连接方式是什么?