ActiveMQ启动时出现tcp连接失败(java.io.EOFException)问题求助
ActiveMQ启动时频繁出现TCP连接EOFException警告(已排除磁盘空间问题)
错误日志
2022-07-18 14:02:48,968 | WARN | Transport Connection to: tcp://127.0.0.1:58090 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58090@61616 2022-07-18 14:02:48,972 | WARN | Transport Connection to: tcp://127.0.0.1:58094 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58094@61616 2022-07-18 14:02:48,976 | WARN | Transport Connection to: tcp://127.0.0.1:58098 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58098@61616 2022-07-18 14:02:48,983 | WARN | Transport Connection to: tcp://127.0.0.1:58102 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58102@61616 2022-07-18 14:02:48,994 | WARN | Transport Connection to: tcp://127.0.0.1:58106 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58106@61616 2022-07-18 14:02:49,009 | WARN | Transport Connection to: tcp://127.0.0.1:58114 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58114@61616 2022-07-18 14:02:49,009 | WARN | Transport Connection to: tcp://127.0.0.1:58110 failed: java.io.EOFException | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:58110@61616
已知信息
- 启动ActiveMQ时持续触发上述WARN日志,提示本地TCP连接因EOFException失败
- 最初排查磁盘空间占用超90%,扩容后问题未解决
- 运行环境:Ubuntu系统,搭配Atlassian旗下PIM解决方案Contentserv
排查与解决建议
调整ActiveMQ传输连接器的心跳配置
编辑activemq.xml中的TCP连接器配置,添加空闲超时参数,避免无数据传输时被误判为连接失效:<transportConnector name="tcp" uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=30000&wireFormat.maxInactivityDurationInitalDelay=60000"/>重启ActiveMQ生效。
校验Contentserv客户端连接参数
确认Contentserv侧配置的ActiveMQ连接参数(超时时间、重试策略等)与服务端匹配,避免客户端异常断开引发服务端EOF警告。优化系统TCP连接回收
- 执行
netstat -anp | grep 61616查看端口连接状态,确认是否存在大量TIME_WAIT/CLOSE_WAIT连接 - 编辑
/etc/sysctl.conf添加以下参数:net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 - 执行
sysctl -p使配置生效,加快TCP连接回收速度。
- 执行
开启详细日志定位根因
临时将ActiveMQ日志级别调整为DEBUG,查看连接建立、断开的完整流程,确认是客户端主动断开还是协议不兼容导致的EOF异常。
内容的提问来源于stack exchange,提问作者Hamza AZIZ
相关产品推荐
相关产品推荐

