activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "john (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (AMQ-1863) org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long
Date Fri, 14 Aug 2009 13:10:36 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-1863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=53616#action_53616
] 

john edited comment on AMQ-1863 at 8/14/09 6:10 AM:
----------------------------------------------------

You told that the bug has been fixed in 5.1 version. I'm actually using the 5.2 version and
it's still not working... 
Can you confirm that it's really fixed in 5.2 version please?

We are using Mule 2.2 
here is my activemq config  file:

<beans 
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd">

  <amq:broker brokerName="amqBroker" useJmx="true" persistent="true">
    
    <amq:persistenceAdapter>
      <amq:kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="33554432"
/>
    </amq:persistenceAdapter>
    
    <amq:transportConnectors>
      <amq:transportConnector  uri="tcp://localhost:61616?jms.watchTopicAdvisories=false"
/>
    </amq:transportConnectors>
  </amq:broker> 
  
</beans>


Here is the stack trace with activemq 4.1 :

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:442)
 at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:200)
 at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:151)
 at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:263)


Here is the stack trace with activemq 5.2 :

Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too
long: localhost/127.0.0.1:61616
    at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:225)
    at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83)
    at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:100)
    at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
    at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
    at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1214)


thanks a lot for your response.

  John


      was (Author: activemq_user):
    You told that the bug has been fixed in 5.1 version. I'm actually using the 5.2 version
and it's still not working... 
Can you confirm that it's really fixed in 5.2 version please?

here is my activemq config  file:

<beans 
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd">

  <amq:broker brokerName="amqBroker" useJmx="true" persistent="true">
    
    <amq:persistenceAdapter>
      <amq:kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="33554432"
/>
    </amq:persistenceAdapter>
    
    <amq:transportConnectors>
      <amq:transportConnector  uri="tcp://localhost:61616?jms.watchTopicAdvisories=false"
/>
    </amq:transportConnectors>
  </amq:broker> 
  
</beans>


Here is the stack trace :

ERROR 2009-08-07 14:08:17,885 [jmsConnector.dispatcher.42] org.mule.DefaultExceptionStrategy:
Caught exception in Exception Strategy: Channel was inactive for too long: localhost/127.0.0.1:61616
javax.jms.JMSException: Channel was inactive for too long: localhost/127.0.0.1:61616
    at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
    at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1216)
    at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1208)
    at org.apache.activemq.ActiveMQSession.<init>(ActiveMQSession.java:198)
    at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:302)
    at org.mule.transport.jms.Jms11Support.createSession(Jms11Support.java:77)
    at org.mule.transport.jms.JmsConnector.getSession(JmsConnector.java:579)
    at org.mule.transport.jms.JmsConnector.getSession(JmsConnector.java:558)
    at org.mule.transport.jms.JmsMessageDispatcher.dispatchMessage(JmsMessageDispatcher.java:135)
    at org.mule.transport.jms.JmsMessageDispatcher.doDispatch(JmsMessageDispatcher.java:72)
    at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
    at org.mule.work.WorkerContext.run(WorkerContext.java:310)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too
long: localhost/127.0.0.1:61616
    at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:225)
    at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83)
    at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:100)
    at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
    at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
    at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1214)
    ... 13 more


thanks a lot for your response.

  John

  
> 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
>            Assignee: Rob Davies
>             Fix For: 5.1.0
>
>         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.


Mime
View raw message