【问题标题】:java.io.EOFException - ActiveMQ messaging brokerjava.io.EOFException - ActiveMQ 消息代理
【发布时间】:2018-03-01 12:02:31
【问题描述】:

这是来自 startup.log (tomcat) 的跟踪

java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
        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:745)

使用以下 URL 连接代理:

failover:(ssl://{0}?wireFormat.maxInactivityDuration=0)?maxReconnectAttempts=5

{0} - actual ip address to connect

由于低于 WARN,添加了 maxinactivity =0,但每天 5 次在日志中出现此异常。

org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: tcp://127.0.0.1:52659

我的配置有什么问题?还是我应该在 ssl 或 tcp 连接传输层中进一步调查?异常背后的原因是什么?

【问题讨论】:

    标签: java ssl activemq eofexception


    【解决方案1】:

    这些错误表明在套接字级别发生了一些事情,导致套接字断开连接或半打开,因此客户端检测并报告它已断开连接。

    发生这种情况的原因有很多,您可能在中间有一个负载均衡器正在终止客户端连接,或者代理可能会挂起等。这似乎不是客户端问题,客户端告诉你连接失败。

    【讨论】:

    • 谢谢蒂姆,那么我是否需要在套接字级别进行更多调查,为什么连接断开或代理不健康?因为我还没有引入负载均衡器
    • 标准老派调试,检查一切,开始一一消除。
    • 是的,我试过这个方法,似乎它在某些时候继续显示这个错误,当我删除最大不活动参数时,它显示 InactivityIOException,如下所示。但问题仍然存在。
    猜你喜欢
    • 2018-06-14
    • 2019-02-14
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 2015-03-14
    • 2013-03-10
    • 2012-10-06
    相关资源
    最近更新 更多