简体   繁体   中英

activemq & Glassfish : InactivityIOException: Channel was inactive for too long

My systems has the following parts:

  • Activemq 5.8.0
  • 4 ear deployed on Glassfish 3.0
  • A .net client that connects to a web service deployed on Glassfish

(none of these seems is using activemq)

Systems works perfectly for months, until it fails with a InactivityIOException (ActiveMQ)

2015-03-11 08:23:17,369 WARN | Transport Connection to: tcp://127.0.0.1:33130 > failed: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: tcp://127.0.0.1:33130 | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ InactivityMonitor Worker

after a while Glassfish crash

|2015-03-11T08:37:08.845+0100|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=120519;_ThreadName=Thread-2;|2015-03-11 08:34:30,418 [0.1:61616@33130] ERROR ActiveMQEndpointWorker - Connection to broker failed: java.io.EOFException javax.jms.JMSException: java.io.EOFException at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1969) at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1988) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101) at org.apache.activemq.transport.WireFormatNegotiator.onException(Wire FormatNegotiator.java:160) at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:332) at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:200) at java.lang.Thread.run(Thread.java:744) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:392) at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) ... 1 more |#] [#|2015-03-11T08:45:44.211+0100|WARNING|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=19;_ThreadName=Thread-2;|GRIZZLY0023: Interrupting idle Thread: http-thread-pool-8080(4).|#]

i read ActiveMQ:'channel inactive for too long' exceptions stop broker messaging but i don't want to stop InactivityMonitor, and setting a higher value for timeout don't solve my problem (just postpone it), question is : why i'm getting this inactivityException and why GF hang out?

I think that the inactivityMonitor should be disabled. If you need it up and running on production, then you should configure this behaviour with a property in your config files.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM