activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manuel Teira (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-895) JMS to JMS Bridge never reconnects under remote broker restarts.
Date Wed, 30 Aug 2006 10:48:23 GMT
    [ https://issues.apache.org/activemq/browse/AMQ-895?page=comments#action_36879 ] 
            
Manuel Teira commented on AMQ-895:
----------------------------------

Previous error was produced by bug: https://issues.apache.org/activemq/browse/AMQ-901

Checking todays svn trunk version finished with a successful compilation. However, reconnection
seems not to work. 

The scenario is as follows:

===Scenario #1===
ActiveMQ broker with a bridged Sun MQ Broker.
* Start ActiveMQ
* Send a message to a bridged queue.
** The message gets into the queue, the jmx console shows:
     EnqueueCount: 1
     DequeueCount: 0
     QueueSize: 1
* Start SunMQ
* Send a new message to the bridged queue.
** Messages are not delivered to the SunMQ broker.

===Scenario #2===
ActiveMQ broker with a bridged SunMQ Broker.
* Start SunMQ
* Start ActiveMQ
* Send a message to a bridged queue.
** The message is bridged to SunMQ Broker queue. The jmx console shows:
    ConsumerCount: 1
     EnqueueCount: 1
     DequeueCount: 1
     QueueSize: 0
* Stop SunMQ
* Send a new message to the bridged queue.
** Message is not delivered to the SunMQ broker.
** The jmx console shows, for the queue:
    ConsumerCount: 1
    EnqueueCount: 2
    DequeueCount: 2
    QueueSize: 1
**The log shows:
[DEBUG][2006/08/30.12:40:57.849][ActiveMQ Transport Server: tcp://localhost:61635]Sending:
WireFormatInfo { version=2, properties={TightEncodingEnabled=true, TcpNoDelayEnabled=true,
SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:40:57.849][ActiveMQ Transport Server: tcp://localhost:61635]Sending:
WireFormatInfo { version=2, properties={TightEncodingEnabled=true, TcpNoDelayEnabled=true,
SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:40:57.887][ActiveMQ Transport: tcp:///127.0.0.1:47305]Received WireFormat:
WireFormatInfo { version=2, properties={StackTraceEnabled=true, TightEncodingEnabled=true,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:40:57.888][ActiveMQ Transport: tcp:///127.0.0.1:47305]tcp:///127.0.0.1:47305
before negotiation: OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false,
tightEncodingEnabled=false, sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:40:57.889][ActiveMQ Transport: tcp:///127.0.0.1:47305]tcp:///127.0.0.1:47305
after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:40:57.887][ActiveMQ Transport: tcp:///127.0.0.1:47305]Received WireFormat:
WireFormatInfo { version=2, properties={StackTraceEnabled=true, TightEncodingEnabled=true,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:40:57.888][ActiveMQ Transport: tcp:///127.0.0.1:47305]tcp:///127.0.0.1:47305
before negotiation: OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false,
tightEncodingEnabled=false, sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:40:57.889][ActiveMQ Transport: tcp:///127.0.0.1:47305]tcp:///127.0.0.1:47305
after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:40:58.479][ActiveMQ Transport: tcp:///127.0.0.1:47305]Adding consumer:
ID:trabucco-47304-1156934456973-1:0:-1:1
[DEBUG][2006/08/30.12:40:58.479][ActiveMQ Transport: tcp:///127.0.0.1:47305]Adding consumer:
ID:trabucco-47304-1156934456973-1:0:-1:1
[DEBUG][2006/08/30.12:40:58.976][ActiveMQ Transport: tcp:///127.0.0.1:47305]Removing consumer:
ID:trabucco-47304-1156934456973-1:0:-1:1
[ERROR][2006/08/30.12:40:59.266][ActiveMQ Session Task]failed to forward message on attempt:
1 reason: javax.jms.IllegalStateException: [C4064]: Cannot perform operation, producer is
closed. message: ActiveMQBytesMessage {commandId = 5, responseRequired = true, messageId =
ID:trabucco-47304-1156934456973-1:0:1:1:1, originalDestination = null, originalTransactionId
= null, producerId = ID:trabucco-47304-1156934456973-1:0:1:1, destination = queue://SUNRECV,
transactionId = null, expiration = 0, timestamp = 1156934458928, arrival = 0, correlationId
= null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activeio.packet.ByteSequence@1a5e68a,
marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 529, properties
= null, readOnlyProperties = true, readOnlyBody = true} ActiveMQBytesMessage{ bytesOut = null,
dataOut = null, dataIn = null }([C4064]: Cannot perform operation, producer is closed.)
[DEBUG][2006/08/30.12:40:58.976][ActiveMQ Transport: tcp:///127.0.0.1:47305]Removing consumer:
ID:trabucco-47304-1156934456973-1:0:-1:1
[ERROR][2006/08/30.12:40:59.266][ActiveMQ Session Task]failed to forward message on attempt:
1 reason: javax.jms.IllegalStateException: [C4064]: Cannot perform operation, producer is
closed. message: ActiveMQBytesMessage {commandId = 5, responseRequired = true, messageId =
ID:trabucco-47304-1156934456973-1:0:1:1:1, originalDestination = null, originalTransactionId
= null, producerId = ID:trabucco-47304-1156934456973-1:0:1:1, destination = queue://SUNRECV,
transactionId = null, expiration = 0, timestamp = 1156934458928, arrival = 0, correlationId
= null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activeio.packet.ByteSequence@1a5e68a,
marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 529, properties
= null, readOnlyProperties = true, readOnlyBody = true} ActiveMQBytesMessage{ bytesOut = null,
dataOut = null, dataIn = null }([C4064]: Cannot perform operation, producer is closed.)
*Start SunMQ again
** Nothing happens in activemq (as expected)
*Send a new message to the bridged queue.
** Message is not delivered to the SunMQ Broker.
**The jmx console shows, for the queue:
   ConsumerCount: 1
   EnqueueCount: 3
   DequeueCount: 3
   QueueSize: 2
**The log shows this:
[DEBUG][2006/08/30.12:43:19.803][ActiveMQ Transport Server: tcp://localhost:61635]Sending:
WireFormatInfo { version=2, properties={TightEncodingEnabled=true, TcpNoDelayEnabled=true,
SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:43:19.805][ActiveMQ Transport: tcp:///127.0.0.1:47315]Received WireFormat:
WireFormatInfo { version=2, properties={StackTraceEnabled=true, TightEncodingEnabled=true,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:43:19.806][ActiveMQ Transport: tcp:///127.0.0.1:47315]tcp:///127.0.0.1:47315
before negotiation: OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false,
tightEncodingEnabled=false, sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:43:19.807][ActiveMQ Transport: tcp:///127.0.0.1:47315]tcp:///127.0.0.1:47315
after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:43:19.803][ActiveMQ Transport Server: tcp://localhost:61635]Sending:
WireFormatInfo { version=2, properties={TightEncodingEnabled=true, TcpNoDelayEnabled=true,
SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:43:19.805][ActiveMQ Transport: tcp:///127.0.0.1:47315]Received WireFormat:
WireFormatInfo { version=2, properties={StackTraceEnabled=true, TightEncodingEnabled=true,
TcpNoDelayEnabled=true, SizePrefixDisabled=false, MaxInactivityDuration=30000, CacheEnabled=true},
magic=[A,c,t,i,v,e,M,Q]}
[DEBUG][2006/08/30.12:43:19.806][ActiveMQ Transport: tcp:///127.0.0.1:47315]tcp:///127.0.0.1:47315
before negotiation: OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false,
tightEncodingEnabled=false, sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:43:19.807][ActiveMQ Transport: tcp:///127.0.0.1:47315]tcp:///127.0.0.1:47315
after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
sizePrefixDisabled=false}
[DEBUG][2006/08/30.12:43:20.433][ActiveMQ Transport: tcp:///127.0.0.1:47315]Adding consumer:
ID:trabucco-47314-1156934598004-1:0:-1:1
[DEBUG][2006/08/30.12:43:20.433][ActiveMQ Transport: tcp:///127.0.0.1:47315]Adding consumer:
ID:trabucco-47314-1156934598004-1:0:-1:1
[ERROR][2006/08/30.12:43:20.921][ActiveMQ Session Task]failed to forward message on attempt:
1 reason: javax.jms.IllegalStateException: [C4064]: Cannot perform operation, producer is
closed. message: ActiveMQBytesMessage {commandId = 5, responseRequired = true, messageId =
ID:trabucco-47314-1156934598004-1:0:1:1:1, originalDestination = null, originalTransactionId
= null, producerId = ID:trabucco-47314-1156934598004-1:0:1:1, destination = queue://SUNRECV,
transactionId = null, expiration = 0, timestamp = 1156934600848, arrival = 0, correlationId
= null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activeio.packet.ByteSequence@1e29b99,
marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 529, properties
= null, readOnlyProperties = true, readOnlyBody = true} ActiveMQBytesMessage{ bytesOut = null,
dataOut = null, dataIn = null }([C4064]: Cannot perform operation, producer is closed.)
[DEBUG][2006/08/30.12:43:20.933][ActiveMQ Transport: tcp:///127.0.0.1:47315]Removing consumer:
ID:trabucco-47314-1156934598004-1:0:-1:1
[ERROR][2006/08/30.12:43:20.921][ActiveMQ Session Task]failed to forward message on attempt:
1 reason: javax.jms.IllegalStateException: [C4064]: Cannot perform operation, producer is
closed. message: ActiveMQBytesMessage {commandId = 5, responseRequired = true, messageId =
ID:trabucco-47314-1156934598004-1:0:1:1:1, originalDestination = null, originalTransactionId
= null, producerId = ID:trabucco-47314-1156934598004-1:0:1:1, destination = queue://SUNRECV,
transactionId = null, expiration = 0, timestamp = 1156934600848, arrival = 0, correlationId
= null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content = org.apache.activeio.packet.ByteSequence@1e29b99,
marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 529, properties
= null, readOnlyProperties = true, readOnlyBody = true} ActiveMQBytesMessage{ bytesOut = null,
dataOut = null, dataIn = null }([C4064]: Cannot perform operation, producer is closed.)
[DEBUG][2006/08/30.12:43:20.933][ActiveMQ Transport: tcp:///127.0.0.1:47315]Removing consumer:
ID:trabucco-47314-1156934598004-1:0:-1:1

Furthermore, after restarting the activeMQ broker with non delivered messages in the bridged
queue, can lead to lose those messages.

Regards

> JMS to JMS Bridge never reconnects under remote broker restarts.
> ----------------------------------------------------------------
>
>                 Key: AMQ-895
>                 URL: https://issues.apache.org/activemq/browse/AMQ-895
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.0 RC2, 4.0.1
>            Reporter: Manuel Teira
>
> I'm using ActiveMQ (4.0.1) JMS to JMS Bridge functionality to connect to a  SunMQ JMS
Broker (3.6 SP3  (Build 02-A)). I'm using two queues, an input and an output one, with the
following configuration:
>     <jmsBridgeConnectors>
>       <jmsQueueConnector outboundQueueConnectionFactory="#REMOTE">
>       <outboundQueueBridges>
>         <outboundQueueBridge outboundQueueName="SUNRECV"/>
>       </outboundQueueBridges>
>       <inboundQueueBridges>
>         <inboundQueueBridge inboundQueueName="SUNSEND"/>
>       </inboundQueueBridges>
>       </jmsQueueConnector>
>     </jmsBridgeConnectors>
> The system works really well until the SunMQ broker needed to be restarted. This is what
I found:
> 1.-ActiveMQ is not aware of the remote broker shutdown. I waited for a while, but no
log on ActiveMQ indicates knowledge about the new situation.
> 2.-When I send a message to the output queue SUNRECV, ActiveMQ complains that the producer
is closed:
> [ERROR][2006/08/25.09:47:12.039][ActiveMQ Session Task]failed to forward message: ActiveMQTextMessage
{commandId = 5, responseRequired = false, messageId = ID:trabucco-43457-1156491843149-3:4:1:1:1,
originalDestination = null, originalTransactionId = null, producerId = ID:trabucco-43457-1156491843149-3:4:1:1,
destination = queue://SUNRECV, transactionId = null, expiration = 0, timestamp = 1156492032027,
arrival = 0, correlationId = null, replyTo = null, persistent = false, type = null, priority
= 0, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID
= null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter
= 0, size = 2, properties = null, readOnlyProperties = true, readOnlyBody = true, text = 1}([C4064]:
Cannot perform operation, producer is closed.)
>  After this, it is automatically queueing messages without sending them, showing the
log:
> [DEBUG][2006/08/25.09:47:42.721][RMI TCP Connection(4)-10.95.89.20]No subscriptions registered,
will not dispatch message at this time.
>  Even if SunMQ is started again, ActiveMQ is not detecting the new situation, and continues
queueing messages sent to SUNRECV.
> Please, make me know if more information is needed to understand the situation.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message