1

我正在开发一个我们想要监控客户端登录/注销的应用程序。由于 ActiveMQ 包含提醒您新连接和删除连接的咨询主题,因此我们的想法是使用此咨询消息 (ActiveMQ.Advisory.Connection)。这在开发过程中运行良好,但是现在,当我们在代理网络中进行生产时,我们注意到来自网络中远程代理的消息没有到达我们的消费者。

我们的设置是:

制片人 | 站点 1 中的代理 A 和 B(主从)-> 它们有一个双工网络连接器连接到我们的公共代理(C 和 D)

站点 2 中的代理 C 和 D(再次成为主从)

并附加到 C 和 D,我们有我们想知道其登录/注销信息的“消费者”。

当我们在代理 A 的管理控制台中查看咨询主题时,我们会看到订阅者,如果我们让消费者连接,我们会收到登录消息。在 Broker C 上,我没有看到任何关于咨询主题的订阅者,并且当消费者登录/关闭时,我们看不到咨询消息。

这是默认行为还是我缺少配置?

4

1 回答 1

1

您需要寻找不同的地方:

  • 检查您的代理配置是否禁用它们:在您的代理配置(A、B、C、D)中,检查该建议是否未禁用(我们不应该得到任何<broker advisorySupport="false">. 通常这似乎已经被检查过
  • 检查您的代码是否禁用它broker.setAdvisorySupport(false);。这似乎不是根本原因,因为它适用于开发环境
  • 您的目的地是动态的吗?查看经纪人网络的以下页面,尤其是“动态网络”部分
于 2013-03-21T01:45:53.437 回答