我的系统包含以下部分:
(这些似乎都没有使用activemq)
系统完美运行数月,直到失败并出现InactivityIOException(ActiveMQ)
2015-03-11 08:23:17,369警告|传输连接:tcp://127.0.0.1:33130>失败: org.apache.activemq.transport.InactivityIOException:频道是 也不活动(> 30000)long:tcp://127.0.0.1:33130 | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ的 InactivityMonitor Worker
一段时间后Glassfish崩溃
| 2015-03-11T08:37:08.845 + 0100 | INFO | glassfish3.1.2 | javax.enterprise.system.std.com.sun.enterprise.server.logging | _ThreadID = 120519; _ThreadName =螺纹-2; | 2015-03-11 08:34:30,418 [0.1:61616 @ 33130] ERROR ActiveMQEndpointWorker - 与代理的连接失败:java.io.EOFException javax.jms.JMSException:java.io.EOFException at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) 在 org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1969) 在 org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1988) 在 org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) 在 org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126) 在 org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) 在 org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) 在 org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:160) 在 org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:332) 在 org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96) 在 org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:200) 在java.lang.Thread.run(Thread.java:744)引起: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392)at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275) 在 org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221) 在 org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213) 在 org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) ......还有1个|#] [#| 2015-03-11T08:45:44.211 + 0100 |警告| glassfish3.1.2 | com.sun.grizzly.config.GrizzlyServiceListener | _ThreadID = 19; _ThreadName =螺纹-2; | GRIZZLY0023: 中断空闲线程:http-thread-pool-8080(4)。|#]
我看了ActiveMQ:'channel inactive for too long' exceptions stop broker messaging但是我不想停止InactivityMonitor,并设置更高的超时值并不能解决我的问题(只是推迟),问题是:为什么我&#39 ; m得到这个不活跃的异常以及GF挂出的原因?
答案 0 :(得分:0)
我认为应该禁用inactivityMonitor。如果您需要它并在生产中运行,那么您应该使用配置文件中的属性配置此行为。