我使用的是activeMQ 5.13.0,我的java是openjdk-1.8.0.131。 我将它们部署在我的linux服务器桌面(centos7)上。我的生产者是一个ruby文件来发送消息,该消息位于我的另一个linux服务器(centos6)桌面上。
在启动activemq之前,我没有对activemq.xml进行任何更新。 传输连接器是:
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600&wireFormat.maxInactivityDuration=0"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
因为我正在使用虚拟主题,所以我添加了一些虚拟主题设置,如下所示:
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<!-- deliver traffic from virtual topic T to all subscribers to destinations matching the prefix "VirtualQueueConsumer.*" (queue or topic) -->
<virtualTopic name="VirtualTopic.eng.testing" prefix="VirtualQueueConsumer.*." />
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
对于我的制作人,我将我的主题发送给我的经纪人“amqp://10.66.136.171:5672”
当我使用生产者将消息发送到活动代理时。从activemq日志,我得到以下错误。但是在我的经纪人webconsole上,我可以在页面上显示我的主题。发送邮件时发生错误。我不知道acticemq的哪些步骤会引发异常。 以下是activemq控制台重新编写的错误以及我的生产者的日志。
错误日志:
WARN | Transport Connection to: tcp://10.73.60.105:58722 failed:
java.io.EOFException
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:197)
at org.fusesource.hawtbuf.Buffer.readFrom(Buffer.java:412)
at org.apache.activemq.transport.amqp.AmqpWireFormat.unmarshal(AmqpWireFormat.java:102)
at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
at java.lang.Thread.run(Thread.java:748)
如果消息不够,请帮助告诉我如何在错误发生时获取更多消息。我是JAVA和activemq的新手。希望我能从你身上学到更多。非常感谢。
答案 0 :(得分:0)
就像甚至activemq报告错误一样,但是经纪人运作良好。