[ 
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

        

Reply via email to