activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AMQ-3008) Queue destination bridge does not stay up
Date Sat, 04 Feb 2012 22:13:57 GMT

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

Timothy Bish resolved AMQ-3008.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 5.6.0

Fixed by latest changes made for AMQ-2455
                
> Queue destination bridge does not stay up
> -----------------------------------------
>
>                 Key: AMQ-3008
>                 URL: https://issues.apache.org/jira/browse/AMQ-3008
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.2, 5.4.1
>            Reporter: Trey Hyde
>             Fix For: 5.6.0
>
>
> I'm not sure of cause of any of these exceptions.  The IllegalStateException seems be
be due to the direct interaction between the OpenMQ and ActiveMQ jms code.   I haven't the
faintest why the reconnect code can't connect again in the normal circumstance.  The agents
that talk directly to OpenMQ do no have issues during these times and nothing is logged in
the OpenMQ log.
> 2010-10-29 10:54:44,170 | ERROR | failed to forward message on attempt: 1 reason: javax.jms.IllegalStateException:
[C4064]: Cannot perform operation, producer is closed. message: ActiveMQMapMessage {commandId
= 3, responseRequired = false, messageId = ID:mq1.cdlocal-27338-12
> 88370972745-6:24434:-1:1:1, originalDestination = null, originalTransactionId = null,
producerId = ID:mq1.cdlocal-27338-1288370972745-6:24434:-1:1, destination = queue://CD.live.search.needsretrieve,
transactionId = null, expiration = 0, timestamp = 1288374884167, arrival = 
> 0, brokerInTime = 1288374884167, brokerOutTime = 1288374884167, correlationId = null,
replyTo = null, persistent = true, type = null, priority = 0, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activemq.ut
> il.ByteSequence@224f68dc, marshalledProperties = org.apache.activemq.util.ByteSequence@b6d551d,
dataStructure = null, redeliveryCounter = 0, size = 1797, properties = {transformation=jms-map-json},
readOnlyProperties = true, readOnlyBody = true, droppable = false} ActiveMQMa
> pMessage{ theTable = {} } | org.apache.activemq.network.jms.DestinationBridge | ActiveMQ
Session: ID:mq1.cdlocal-27338-1288370972745-4:0:2
> javax.jms.IllegalStateException: [C4064]: Cannot perform operation, producer is closed.
>         at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.checkState(MessageProducerImpl.java:175)
>         at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.send(MessageProducerImpl.java:719)
>         at com.sun.messaging.jmq.jmsclient.QueueSenderImpl.send(QueueSenderImpl.java:145)
>         at org.apache.activemq.network.jms.QueueBridge.sendMessage(QueueBridge.java:80)
>         at org.apache.activemq.network.jms.DestinationBridge.onMessage(DestinationBridge.java:129)
>         at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1229)
>         at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
>         at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> 2010-10-29 10:54:45,179 | ERROR | failed to forward message on attempt: 2 reason: com.sun.messaging.jms.JMSException:
[C4003]: Error occurred on connection creation [search2.cdlocal:6076]. - cause: java.net.ConnectException:
Connection refused message: ActiveMQMapMessage {co
> mmandId = 3, responseRequired = false, messageId = ID:mq1.cdlocal-27338-1288370972745-6:24434:-1:1:1,
originalDestination = null, originalTransactionId = null, producerId = ID:mq1.cdlocal-27338-1288370972745-6:24434:-1:1,
destination = queue://CD.live.search.needsretrieve, t
> ransactionId = null, expiration = 0, timestamp = 1288374884167, arrival = 0, brokerInTime
= 1288374884167, brokerOutTime = 1288374884167, correlationId = null, replyTo = null, persistent
= true, type = null, priority = 0, groupID = null, groupSequence = 0, targetConsumerId =
>  null, compressed = false, userID = null, content = org.apache.activemq.util.ByteSequence@224f68dc,
marshalledProperties = org.apache.activemq.util.ByteSequence@b6d551d, dataStructure = null,
redeliveryCounter = 0, size = 1797, properties = {transformation=jms-map-json}, rea
> dOnlyProperties = true, readOnlyBody = true, droppable = false} ActiveMQMapMessage{ theTable
= {} } | org.apache.activemq.network.jms.DestinationBridge | ActiveMQ Session: ID:mq1.cdlocal-27338-1288370972745-4:0:2
> com.sun.messaging.jms.JMSException: [C4003]: Error occurred on connection creation [search2.cdlocal:6076].
- cause: java.net.ConnectException: Connection refused
>         at com.sun.messaging.jmq.jmsclient.ExceptionHandler.throwConnectionException(ExceptionHandler.java:274)
>         at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleConnectException(ExceptionHandler.java:220)
>         at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:241)
>         at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:150)
>         at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:92)
>         at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:164)
>         at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:135)
>         at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:778)
>         at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnectionNew(ConnectionInitiator.java:254)
>         at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:208)
>         at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:158)
>         at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:816)
>         at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:1529)
>         at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:2327)
>         at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:1024)
>         at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:418)
>         at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:60)
>         at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectionImpl.java:59)
>         at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionFactory.java:98)
>         at com.sun.messaging.ConnectionFactory.createQueueConnection(ConnectionFactory.java:83)
>         at com.centraldesktop.mq.openmq.QueueConnectionFactory.createQueueConnection(QueueConnectionFactory.java:33)
>         at org.apache.activemq.network.jms.JmsQueueConnector.initializeForeignQueueConnection(JmsQueueConnector.java:223)
>         at org.apache.activemq.network.jms.JmsQueueConnector.restartProducerConnection(JmsQueueConnector.java:184)
>         at org.apache.activemq.network.jms.DestinationBridge.restartProducer(DestinationBridge.java:177)
>         at org.apache.activemq.network.jms.DestinationBridge.onMessage(DestinationBridge.java:115)
>         at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1229)
>         at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
>         at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Caused by: java.net.ConnectException: Connection refused
>         at java.net.PlainSocketImpl.socketConnect(Native Method)
>         at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
>         at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
>         at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
>         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:381)
>         at java.net.Socket.connect(Socket.java:537)
>         at java.net.Socket.connect(Socket.java:487)
>         at java.net.Socket.<init>(Socket.java:384)
>         at java.net.Socket.<init>(Socket.java:198)
>         at com.sun.messaging.jmq.jmsclient.PortMapperClient.makeSocketWithTimeout(PortMapperClient.java:268)
>         at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:220)
>         ... 27 more
> this exception repeats 10 times IMMEDIATELY and no further attempts are made at reconnecting.
  A restart of ActiveMQ reestablishes the bridge.
> Code and configuration for the AMQ->IMQ bridge is available here: http://github.com/centraldesktop/openmq-spring-bean
> This has to be somewhat related to AMQ-2455 which I was told may resolve this issue (it
didn't).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message