【问题标题】:ActiveMQ + NMS can't receive messagesActiveMQ + NMS 收不到消息
【发布时间】:2011-03-07 23:55:26
【问题描述】:

我正在尝试从 C# 应用程序使用有关 ActiveMQ 主题的消息。我正在使用 1.3 .net 版本,但没有收到任何消息。

我的现有代码使用旧库(以及构建在我不想使用或升级的库之上的库)运行良好,所以我知道消息正在沿着该主题传播,但我的简单程序与更新图书馆只是看不到它们。

我正在使用从http://remark.wordpress.com/articles/publish-subscribe-with-activemq-and-nms/ 复制和粘贴的代码作为我的测试。 SimpleTopicSubscriber(通过简单的更改使其成为非持久消费者)只是没有收到任何东西。 SimpleTopicPublisher 工作得很好 - 我可以发送一条简单的消息,它就会通过,没问题。

查看 JMX 控制台,我可以看到我的订阅者连接,看到它在正确的主题上,但它只是没有收到任何消息。

有什么想法吗?我什至尝试过使用 1.2 库,但没有任何区别。

谢谢 马特

【问题讨论】:

    标签: activemq nms


    【解决方案1】:

    原来有两个问题。我错误地编辑了示例代码并传入了持久的消费者 ID 而不是选择器。不是很聪明。

    一旦我解决了这个问题,我就可以接收消息了,但仅限于 NMS/ActiveMq dll 的 1.1 版本。我无法接收 1.2 或 1.3 版的消息。

    但如果我在连接时将wireformat.version=2 作为参数传递,一切正常。代理是 5.0.0,我强烈怀疑这可以与更高版本的代理一起使用。

    谢谢 马特

    【讨论】:

      【解决方案2】:

      您的客户端可能没有收到消息有几个原因,一个可能是您没有调用 Connection.Start(),否则消息泵将不会开始向您的客户端发送消息。另一个原因可能是您现在的非持久主题订阅者是在发布者之后启动的,在这种情况下,由于您使用的是主题,因此不会传递任何消息,而主题就像队列一样,一旦发送消息,它就会被遗忘,所以稍后加入的订阅者不会收到在其订阅之前发送的任何消息。

      问候 蒂姆。

      开源集成:http://fusesource.com

      【讨论】:

      • 谢谢蒂姆,很遗憾,我肯定会调用 Start,并且我已将发布者设置为每 30 秒发送一次消息...
      • 你能把你的源代码发到ActiveMQ用户群吗,我去看看是怎么回事。问候蒂姆。开源集成:fusesource.com
      • 感谢您的帮助 - 结果一半是我的错,一半是有线格式的问题......
      猜你喜欢
      • 2018-03-07
      • 2021-01-08
      • 2018-08-22
      • 2010-11-24
      • 2015-07-10
      • 1970-01-01
      • 2013-08-13
      • 2019-07-30
      • 2013-11-24
      相关资源
      最近更新 更多