【问题标题】:AciveMQ demo swallows messagesActiveMQ 演示吞下消息
【发布时间】:2012-09-14 21:42:18
【问题描述】:

当我尝试 ActiveMQ (http://localhost:8161/demo/websocket/) 的 websocket 聊天演示时,似乎并非所有消息都在两个不同的浏览器实例之间传输。由于某种原因,只有每第二条消息会发送到其中一个浏览器。

有人对此有解释吗?这是我需要配置的吗?

编辑:也许我应该补充一点,我使用 stomp 作为默认设置的有线协议(只是将配置文件更改为使用 websockets)。

Edit2:按照http://www.jmesnil.net/stomp-websocket/doc/ 给出的示例时,我找不到任何行为差异。但是,我注意到一个有趣的效果:当使用 3 个客户端实例时,我可以观察到发送客户端收到了第一条消息,第二个客户端(而不是其他任何一个)收到了第二条消息,并且收到了第三条消息在第三个客户端。我会认为所有客户端都会同时收到消息。

【问题讨论】:

  • 我可能很奇怪,但你真的可以改写你的问题...... :)

标签: javascript websocket activemq stomp


【解决方案1】:

我发现了导致问题的原因:在我使用的示例中,客户端订阅了一个队列,而不是一个主题('/queue/test')。使用主题按我的预期工作(发布-订阅模式)。我猜当它使用队列时,消息被客户端放入队列并被任何其他客户端拾取(并立即被消费)。

【讨论】:

  • 我也犯了这个错误。我设置了所有订阅消息队列的多个实体,这导致消息旨在供另一台设备使用,以供侦听方使用。
猜你喜欢
  • 2019-03-08
  • 2017-08-02
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 2012-04-28
  • 2013-01-24
  • 2012-10-23
  • 2012-05-10
相关资源
最近更新 更多