【发布时间】:2018-06-14 06:27:39
【问题描述】:
我使用的是 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 日志中,我收到以下错误。但是在我的代理网络控制台上,我可以得到我的主题已显示在页面上。当我发送消息时发生错误。我不知道 actecemq 的哪些步骤引发了异常。 以下是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 的新手。希望我能从你身上学到更多。太感谢了。
【问题讨论】:
-
您没有为任何人提供任何上下文来猜测可能出现的问题。在问题中提供更多详细信息,例如正在使用哪些客户端以及异常时他们在做什么等。
-
谢谢你,蒂姆。现在怎么样?消息是否足够?如果没有,请告诉我。 :)。