问题描述
我正在使用 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&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 (将#修改为@)