Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Incomplete
-
5.4.2
-
None
-
OS: SunOS 5.10 Generic_147440-23 sun4v sparc SUNW,Netra-T5440
HW: Sun sparc Netra T5440
ActiveMq version: 5.4.2
ServiceMix version: 4.3.0
Java version: 1.5.0_32
Description
We are using ActiveMQ broker with ServiceMix and have observed following InactivityIOException being reported in ServiceMix logs and ActiveMq closes MessageProducer and MessageComsumer. Then JMS related activemq.ConnectionFailedExceptions are observed and the ServiceMix stops functioning and clients are not able to register for topics and get any data from ServiceMix.
Transport failed: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: /127.0.0.1:44650
Based on the information provided in forum, we have tried to disable Inactivity Monitor in the ActiveMq-broker.xml file available in ServiceMix/etc directory, however Inactivity monitor is not changed from default value of 30000.
ActiveMq-broker.xml from our setup:
<broker>
<!-- The transport connectors ActiveMQ will listen to -->
<transportConnectors>
<transportConnector name="openwire" uri="tcp://localhost:61616?wireFormat.maxInactivityDuration=0"/>
<transportConnector name="stomp" uri="stomp://localhost:61613"/>
</transportConnectors>
</broker>
Please let us know what has caused InactivityTimeout exception and how to reproduce this issue and how this issue will be resolved.
ServiceMix Logs:
[2012-10-09 03:26:24,964] | INFO | InactivityMonitor Async Task: java.util.concurrent.ThreadPoolExecutor$Worker@49754b | Transport | emq.broker.TransportConnection 238 | Transport failed: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: /127.0.0.1:44650
[2012-10-09 03:26:25,306] | INFO | ActiveMQ Transport: tcp:///127.0.0.1:44705 | Transport | emq.broker.TransportConnection 238 | Transport failed: java.io.EOFException
[2012-10-09 03:26:26,443] | WARN | pool-component.servicemix-wsn2005.provider-thread-36 | JmsPublisher | ervicemix.wsn.jms.JmsPublisher 97 | Error dispatching message
javax.jms.IllegalStateException: The producer is closed
at org.apache.activemq.ActiveMQMessageProducer.checkClosed(ActiveMQMessageProducer.java:169)
at org.apache.activemq.ActiveMQMessageProducerSupport.getDeliveryMode(ActiveMQMessageProducerSupport.java:148)
at org.apache.activemq.pool.PooledProducer.<init>(PooledProducer.java:44)
at org.apache.activemq.pool.PooledSession.createProducer(PooledSession.java:278)
at org.apache.servicemix.wsn.jms.JmsPublisher.notify(JmsPublisher.java:89)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractNotificationBroker.handleNotify(AbstractNotificationBroker.java:134)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractNotificationBroker.notify(AbstractNotificationBroker.java:126)[166:servicemix-wsn2005:2011.01.0]
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[:1.6.0_33]
at java.lang.reflect.Method.invoke(Unknown Source)[:1.6.0_33]
at org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java:166)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:651)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:606)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:501)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:370)[121:servicemix-common:2011.01.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)[:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.6.0_33]
at java.lang.Thread.run(Unknown Source)[:1.6.0_33]
[2012-10-09 03:26:26,631] | INFO | pool-component.servicemix-wsn2005.provider-thread-37 | JmsPullPoint | ervicemix.wsn.jms.JmsPullPoint 125 | Error retrieving messages
javax.jms.IllegalStateException: The Consumer is closed
at org.apache.activemq.ActiveMQMessageConsumer.checkClosed(ActiveMQMessageConsumer.java:791)
at org.apache.activemq.ActiveMQMessageConsumer.receiveNoWait(ActiveMQMessageConsumer.java:600)
at org.apache.servicemix.wsn.jms.JmsPullPoint.getMessages(JmsPullPoint.java:114)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractPullPoint.getMessages(AbstractPullPoint.java:92)[166:servicemix-wsn2005:2011.01.0]
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[:1.6.0_33]
at java.lang.reflect.Method.invoke(Unknown Source)[:1.6.0_33]
at org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java:166)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:651)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:606)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:501)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:370)[121:servicemix-common:2011.01.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)[:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.6.0_33]
at java.lang.Thread.run(Unknown Source)[:1.6.0_33]
[2012-10-09 03:26:26,678] | WARN | pool-component.servicemix-wsn2005.provider-thread-38 | JmsPublisher | ervicemix.wsn.jms.JmsPublisher 97 | Error dispatching message
javax.jms.IllegalStateException: The producer is closed
at org.apache.activemq.ActiveMQMessageProducer.checkClosed(ActiveMQMessageProducer.java:169)
at org.apache.activemq.ActiveMQMessageProducerSupport.getDeliveryMode(ActiveMQMessageProducerSupport.java:148)
at org.apache.activemq.pool.PooledProducer.<init>(PooledProducer.java:44)
at org.apache.activemq.pool.PooledSession.createProducer(PooledSession.java:278)
at org.apache.servicemix.wsn.jms.JmsPublisher.notify(JmsPublisher.java:89)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractNotificationBroker.handleNotify(AbstractNotificationBroker.java:134)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractNotificationBroker.notify(AbstractNotificationBroker.java:126)[166:servicemix-wsn2005:2011.01.0]
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[:1.6.0_33]
at java.lang.reflect.Method.invoke(Unknown Source)[:1.6.0_33]
at org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java:166)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:651)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:606)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:501)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:370)[121:servicemix-common:2011.01.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)[:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.6.0_33]
at java.lang.Thread.run(Unknown Source)[:1.6.0_33]
[2012-10-09 03:26:26,788] | WARN | pool-component.servicemix-wsn2005.provider-thread-39 | JmsPublisher | ervicemix.wsn.jms.JmsPublisher 97 | Error dispatching message
org.apache.activemq.ConnectionFailedException: The JMS connection has failed: java.io.EOFException
at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1354)
at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:308)
at org.apache.activemq.pool.SessionPool.createSession(SessionPool.java:117)
at org.apache.activemq.pool.SessionPool.makeObject(SessionPool.java:85)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
at org.apache.activemq.pool.SessionPool.borrowSession(SessionPool.java:54)
at org.apache.activemq.pool.ConnectionPool.createSession(ConnectionPool.java:110)
at org.apache.activemq.pool.PooledConnection.createSession(PooledConnection.java:141)
at org.apache.servicemix.wsn.jms.JmsPublisher.notify(JmsPublisher.java:88)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractNotificationBroker.handleNotify(AbstractNotificationBroker.java:134)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.wsn.AbstractNotificationBroker.notify(AbstractNotificationBroker.java:126)[166:servicemix-wsn2005:2011.01.0]
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[:1.6.0_33]
at java.lang.reflect.Method.invoke(Unknown Source)[:1.6.0_33]
at org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java:166)[166:servicemix-wsn2005:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:651)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:606)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:501)[121:servicemix-common:2011.01.0]
at org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:370)[121:servicemix-common:2011.01.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)[:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.6.0_33]
at java.lang.Thread.run(Unknown Source)[:1.6.0_33]
Caused by: java.io.EOFException
at java.io.DataInputStream.readInt(Unknown Source)[:1.6.0_33]
at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)[43:org.apache.activemq.activemq-core:5.4.2]
at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:227)[43:org.apache.activemq.activemq-core:5.4.2]
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:219)[43:org.apache.activemq.activemq-core:5.4.2]
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)[43:org.apache.activemq.activemq-core:5.4.2]
... 1 more