activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trey Hyde (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQ-3008) Queue destination bridge does not stay up
Date Fri, 29 Oct 2010 20:51:00 GMT
Queue destination bridge does not stay up
-----------------------------------------

                 Key: AMQ-3008
                 URL: https://issues.apache.org/activemq/browse/AMQ-3008
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.4.1, 5.3.2
            Reporter: Trey Hyde


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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message