【问题标题】:Issues with ActiveMQ 3.8.3 (CPP) priorityBackup not workingActiveMQ 3.8.3 (CPP) priorityBackup 无法正常工作的问题
【发布时间】:2015-01-22 17:10:03
【问题描述】:

我对活动 MQ 有点陌生,所以请多多包涵。

我正在尝试为我的一些 Java 和 CPP 应用程序利用 ActiveMQ 优先级备份功能。我在两个不同的服务器(本地和远程)上有两个代理,我希望我的应用程序具有以下行为。

  1. 在启动时始终连接到本地代理
  2. 如果本地代理出现故障,请连接到远程
  3. 在连接到远程时,如果本地恢复正常,我们将重新连接到本地。

只需将 priorityBackup 添加到我的 uri 选项中,我已经成功地在 java 应用程序上对其进行了测试 IE。 故障转移:(tcp://local:61616,tcp://remote:61616)?randomize=false&priorityBackup=true

但是,CPP 方面的进展并不顺利。

以下在 CPP 应用程序上运行良好(具有基本的工作故障转移功能 - 也就是当本地出现故障时跳转到远程)

故障转移:(tcp://local:61616,tcp://remote:61616)?randomize=false

但是使用 priorityBackup 更新 uri 选项似乎完全破坏了故障转移功能(我的应用程序从不故障转移到远程代理,当他们的本地代理出现故障时,它们只是处于某种无代理/边缘状态) 故障转移:(tcp://local:61616,tcp://remote:61616)?randomize=false&priorityBackup=true

这里有什么我遗漏的吗?我应该包含的额外 uri 选项?

更新:传输连接器信息

<transportConnectors>
            <transportConnector name="ClientOpenwire" uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=7000"/>
            <transportConnector name="Broker2BrokerOpenwire" uri="tcp://0.0.0.0:62627?wireFormat.maxInactivityDuration=5000"/>
            <transportConnector name="stompConnector" uri="stomp://0.0.0.0:62623"/>
</transportConnectors>

【问题讨论】:

  • 你的代理是什么版本的?
  • 对不起,我应该把它包括在内。我的 CPP 和 JAVA 应用遇到了 5.8.0 版本的代理。
  • 你能发布传输连接器的配置吗?
  • 我将它们添加到原帖中

标签: c++ activemq activemq-cpp


【解决方案1】:

backuppriorityBackup 参数在库的 Java 和 C++ 实现中以完全不同的方式处理。 Java 实现运行良好,但不幸的是 C++ 实现被破坏了。没有其他选项可以解决此问题。需要对库进行重大更改才能解决此问题。

我正在使用 activemq-cpp-library-3.8.3 和各种版本(5.10.0、5.11.1)的代理测试这个问题。 3.8.4 版本中未修复此问题。

【讨论】:

  • 我检查了 3.9.3 但仍然有同样的问题。
猜你喜欢
  • 2020-03-26
  • 1970-01-01
  • 2019-12-23
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
相关资源
最近更新 更多