【问题标题】:NServiceBus - subscriber input queue different from endpoint nameNServiceBus - 订阅者输入队列与端点名称不同
【发布时间】:2013-02-09 17:07:39
【问题描述】:

我在自己的应用程序中托管 NServiceBus 以充当订阅者。 我在解决方案中有 4 个项目: 1. 合约——声明事件接口 2. 主机 - 带有 API 的类库来启动总线。 3. 处理程序 - 这里实现了事件处理程序。 4. 控制台应用程序来运行它。

  • 我看到根据我想要的控制台应用程序名称正确设置了端点名称,并相应地创建了队列。
  • 我成功订阅了发布者事件。

问题: 当发布者尝试向订阅者发送消息时 - 它尝试发送到根据事件处理程序命名空间而不是端点名称命名的队列。

我得到的例外是发布者找不到订阅者输入队列。

为了进行完整性检查,我手动创建了根据处理程序命名空间命名的输入队列,并且确实开始接收事件。

那么,这是 NServiceBus 中的错误还是我错过了一些非常重要的东西?

谢谢....

【问题讨论】:

    标签: nservicebus publish-subscribe


    【解决方案1】:

    我发现问题是我的……

    发布者在其 Raven DB 中仍有旧订阅者,因此它尝试将事件也发布到这些不再存在的队列中......

    为了让我的生活更轻松,我将订阅配置为使用 MSMQ 存储。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。我重命名了我的端点,但是在调用 Publish() 时它仍在尝试发送到旧队列。我去了 localhost:8080 (RavenDB) 并删除了所有文档和数据库,但仍然遇到同样的问题。重新启动 RavenDB 服务解决了这个问题,所以它必须将它们缓存在内存中或其他东西中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-13
        • 2012-02-19
        相关资源
        最近更新 更多