微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ActiveMQ CMS 故障转移机制不起作用

如何解决ActiveMQ CMS 故障转移机制不起作用

我正在使用 ActiveMQ 5.10.2,并且我正在尝试使用 Apache ActiveMQ CMS (activemq-cpp-library-3.9.5) 使用 C++ 客户端测试故障转移场景。两个代理之一的配置是:

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker-1" dataDirectory="${activemq.data}" useJmx="true">

<managementContext>
   <managementContext createConnector="true" connectorPort="1099"/>
</managementContext>

<persistenceAdapter>
   <kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>

<networkConnectors>
    <networkConnector 
    name="broker1->broker2" 
    uri="static:(failover:(tcp://broker-2:61637))" 
    duplex="false" 
    decreaseNetworkConsumerPriority="true" 
    networkTTL="2" 
    dynamicOnly="true">             
    </networkConnector>
</networkConnectors>

<transportConnectors>
    <transportConnector name="openwire"  updateClusterClients="true" uri="tcp://broker-1:61636?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
 </transportConnectors>

客户端的 URL 是:failover:(tcp://broker-1:61636,tcp://broker-2:616137)?reconnectSupported=true&timeout=3000

在生产者开始向消费者发送消息后,我杀死了 broker-1,希望看到过渡到 broker-2。取而代之的是,我收到以下错误

Thread 16: onException: Exception: type=JMSException,msg=DataInputStream::readLong - Reached EOF
Thread 16: onException: Terminating program...

我的问题是,问题是出在onException方法上,还是故障转移机制的配置有问题。

亲切的问候

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。