org.apache.activemq.transport.InactivityIOException: Channel was inactive for
too long
--------------------------------------------------------------------------------------
Key: AMQ-1863
URL: https://issues.apache.org/activemq/browse/AMQ-1863
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 4.0.2
Environment: RedHat Linux
Reporter: don ingratta
Attachments: activemq.xml
I have web client which uses jetty configured through servicemix which
intermittently throws an activemq.transport.InactivityIOException. The problem
is reported in a solaris environment and I have been able to reproduce this
issue with Redhat Linux AdvancedServer 2.1 after an extended period of no web
client activity for about 2 days.
I have tried setting maxInactivityDuration = 0 (at the web client end) and have
also tried applying the patch (changes to Transport.InactivityMonitor.java)
mentioned in AMQ-1146 to 4.0.2 but the issue still occurs.
It appears that this issue has been ongoing as there are similar issues
resolved in 5.1.
Is this issue resolved in 4.1 or must I upgrade to 5.1 to resolve this issue?
Below is exception message from the servicemix.log and the activemq.xml
confguration file is attached.
15:25:19,414 | WARN | btpool0-10922 | jetty |
ervicemix.http.jetty.JCLLogger 93 | /ecli/:
java.lang.Exception: org.springframework.jms.UncategorizedJmsException:
Uncategorized exception occured during JMS processing; nested exception is
org.apache.activemq.ConnectionFailedException: The JMS connection has failed:
Channel was inactive for too long.; nested exception is
org.apache.activemq.transport.InactivityIOException: Channel was inactive for
too long.
at
org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:202)
at
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:443)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:179)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:615)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:269)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
at
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized
exception occured during JMS processing; nested exception is
org.apache.activemq.ConnectionFailedException: The JMS connection has failed:
Channel was inactive for too long.; nested exception is
org.apache.activemq.transport.InactivityIOException: Channel was inactive for
too long.
at
org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:194)
at
org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:162)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:432)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:485)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:471)
at
org.apache.servicemix.components.jms.JmsSenderComponent.process(JmsSenderComponent.java:81)
at
org.apache.servicemix.components.util.OutBinding.onMessageExchange(OutBinding.java:49)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:624)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:169)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:177)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:227)
at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.activemq.ConnectionFailedException: The JMS connection
has failed: Channel was inactive for too long.
at
org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1171)
at
org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:270)
at
org.apache.activemq.pool.SessionPool.createSession(SessionPool.java:112)
at org.apache.activemq.pool.SessionPool.makeObject(SessionPool.java:80)
at
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
at
org.apache.activemq.pool.SessionPool.borrowSession(SessionPool.java:55)
at
org.apache.activemq.pool.ConnectionPool.createSession(ConnectionPool.java:70)
at
org.apache.activemq.pool.PooledConnection.createSession(PooledConnection.java:129)
at
org.springframework.jms.core.JmsTemplate.createSession(JmsTemplate.java:826)
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:420)
... 11 more
Caused by: org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too long.
at
org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:101)
at
org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35)
at
org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51)
at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
... 1 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.