You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2011/08/10 22:57:28 UTC

[jira] [Closed] (AMQ-2067) After getting an EOFException with the JMS connection, the channel is inactive and the server is not able to recover its connection to ActiveMQ.

     [ https://issues.apache.org/jira/browse/AMQ-2067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish closed AMQ-2067.
-----------------------------

    Resolution: Not A Problem

> After getting an EOFException with the JMS connection, the channel is inactive and the server is not able to recover its connection to ActiveMQ.
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2067
>                 URL: https://issues.apache.org/jira/browse/AMQ-2067
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.0.0
>         Environment: Solaris with server JBOSS connecting to a standalone Message FUSE Broker ActiveMQ server 5.0.0.14
>            Reporter: Pierre-Luc Dupont
>
> We have this problem and it is causing a lot of trouble since we need to restart our server every time that this error occurs.
> Can someone help me to fix or give me a procedure to avoid this situation?
> Thank you!
> This is our configuration in our deploy folder.
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE connection-factories
>     PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
>     "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
> <connection-factories>
>    <tx-connection-factory>
>       <jndi-name>activemq/QueueConnectionFactory</jndi-name>
>       <xa-transaction/>
>       <track-connection-by-tx/>
>       <rar-name>activemq-rar-5.0.0.14-fuse.rar</rar-name>
>       <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
>       <ServerUrl>tcp://<host>:61616?wireFormat.maxInactivityDuration=0&amp;keepAlive=true</ServerUrl>
>       <!--
>       <UserName>sa</UserName>
>       <Password></Password>
>       -->
>       <min-pool-size>2</min-pool-size>
>       <max-pool-size>200</max-pool-size>
>       <blocking-timeout-millis>30000</blocking-timeout-millis>
>       <idle-timeout-minutes>1440</idle-timeout-minutes>
>    </tx-connection-factory>
>    <tx-connection-factory>
>       <jndi-name>activemq/TopicConnectionFactory</jndi-name>
>       <xa-transaction/>
>       <track-connection-by-tx/>
>       <rar-name>activemq-rar-5.0.0.14-fuse.rar</rar-name>
>       <connection-definition>javax.jms.TopicConnectionFactory</connection-definition>
>       <ServerUrl>tcp://<host>:61616?wireFormat.maxInactivityDuration=0&amp;keepAlive=true</ServerUrl>
>       <!--
>       <UserName>sa</UserName>
>       <Password></Password>
>       -->
>       <min-pool-size>2</min-pool-size>
>       <max-pool-size>200</max-pool-size>
>       <blocking-timeout-millis>30000</blocking-timeout-millis>
>       <idle-timeout-minutes>1440</idle-timeout-minutes>
>    </tx-connection-factory>
>    
>     ....
> </connection-factories>
> 22:59:21,007 WARN  [ActiveMQManagedConnection] Connection failed: javax.jms.JMSException: java.io.EOFException
> 22:59:21,009 WARN  [TxConnectionManager] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1c3dfe[state=NORMAL mc=org.apache.activemq.ra.ActiveMQManagedConnection@1ff0bb4 handles=1 lastUse=1231786631511 permit=true trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@1a83509 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@321810 xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@159773f txSync=null]
> javax.jms.JMSException: java.io.EOFException
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> 	at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1684)
> 	at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1701)
> 	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
> 	at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
> 	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
> 	at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
> 	at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:152)
> 	at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:244)
> 	at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:187)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.EOFException
> 	at java.io.DataInputStream.readInt(DataInputStream.java:358)
> 	at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
> 	at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:203)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:195)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> 	... 1 more
> 23:01:27,933 ERROR [ProductManager] End of a batch (2199 s,  0.227/sec). No failures out of 500 products processed. Attempt 0 of 1
> 23:01:27,934 WARN  [BatchSink] Message (Product/addOrUpdate, x500), batch [258] on port ABC processing STOPPED
> 23:01:27,936 INFO  [AdvisoryConsumer] Failed to send remove command: javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616
> javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> 	at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1178)
> 	at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
> 	at org.apache.activemq.AdvisoryConsumer.dispose(AdvisoryConsumer.java:56)
> 	at org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1353)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:250)
> 	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:320)
> 	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:620)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:363)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConnectionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:756)
> 	at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionErrorOccurred(TxConnectionManager.java:676)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:189)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:408)
> 	at org.apache.activemq.ActiveMQConnection$3.run(ActiveMQConnection.java:1690)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long: <host>/<ipaddress>: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:1176)
> 	... 15 more
> 23:01:27,939 WARN  [JBossManagedConnectionPool] ResourceException cleaning up ManagedConnection: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1c3dfe[state=NORMAL mc=org.apache.activemq.ra.ActiveMQManagedConnection@1ff0bb4 handles=0 lastUse=1231786631511 permit=true trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@1a83509 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@321810 xaResource=org.apache.activemq.ra.ActiveMQManagedConnection$1@159773f txSync=null]
> javax.resource.ResourceException: Could cleanup the ActiveMQ connection: javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:252)
> 	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:320)
> 	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:620)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:363)
> 	at org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConnectionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:756)
> 	at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionErrorOccurred(TxConnectionManager.java:676)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:189)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:408)
> 	at org.apache.activemq.ActiveMQConnection$3.run(ActiveMQConnection.java:1690)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> 	at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1178)
> 	at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
> 	at org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1376)
> 	at org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:250)
> 	... 11 more
> Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long: <host>/<ipaddress>: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:1176)
> 	... 14 more
> 23:01:27,945 WARN  [ActiveMQManagedConnection] Connection failed: javax.jms.JMSException: Channel was inactive for too long: <host>/<ipaddress>:61616

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira