activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manuel Teira <mte...@tid.es>
Subject Connection lost in JMS to JMS Bridge scenario.
Date Fri, 25 Aug 2006 08:16:09 GMT
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello and sorry for the previous message, it seems I pressed the wrong
button.<br>
<br>
<br>
I'm using ActiveMQ JMS to JMS Bridge functionality to connect to a&nbsp;
SunMQ JMS Broker (3.6 SP3&nbsp; (Build 02-A)). I'm using two queues, an
input and an output one, with the following configuration:<br>
<br>
<br>
<tt>&nbsp;&nbsp;&nbsp; &lt;jmsBridgeConnectors&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;jmsQueueConnector outboundQueueConnectionFactory="#REMOTE"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;outboundQueueBridges&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;outboundQueueBridge
outboundQueueName="SUNRECV"/&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/outboundQueueBridges&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;inboundQueueBridges&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;inboundQueueBridge
inboundQueueName="SUNSEND"/&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/inboundQueueBridges&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/jmsQueueConnector&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/jmsBridgeConnectors&gt;</tt><br>
<br>
under ActiveMQ 4.0.1<br>
<br>
The system works really well until the SunMQ broker needed to be
restarted. This is what I found:<br>
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.<br>
2.-When I send a message to the output queue SUNRECV, ActiveMQ
complains that the producer is closed:<br>
<br>
<small><tt>[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 = <a
 class="moz-txt-link-freetext" href="queue://SUNRECV">queue://SUNRECV</a>,
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.)</tt></small><br>
<br>
&nbsp;After this, it is automatically queueing messages without sending
them, showing the log:<br>
<br>
<small><tt>[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.</tt></small><br>
<br>
&nbsp;Even if SunMQ is started again, ActiveMQ is not detecting the new
situation, and continues queueing messages sent to SUNRECV.<br>
<br>
3.-Once I restart ActiveMQ broker (with SunMQ previously restarted) two
things can happen:<br>
&nbsp; a.-ActiveMQ sends the previously queued messages to SunMQ. I can find
SUNRECV queue in the 'queues' section of the jmx console with the
correct number of dequeued messages.<br>
&nbsp; b.-ActiveMQ sends nothing to SunMQ. The jmx console doesn't show the
bridged queue, however, there's an advisory topic called:
ActiveMQ.Advisory.Consumer.Queue.SUNRECV.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; When a new message is sent to SUNRECV,
the queue is created in
ActiveMQ, but the old messages seems to be lost (The jmx console shows
1 for the Enqueue and Dequeue count and SunMQ shows one message in its
queue).<br>
<br>
<br>
This situation is far from desired. So, I would like to know:<br>
-Is there any way to make ActiveMQ broker test the bridge connection
state? Is there any way to force a reconnection?<br>
-Should ActiveMQ detect the remote side shutdown?<br>
-What can be the reason for (3.b)? Is there any way I can debug it
further?<br>
<br>
Please, make me know if more information is needed to understand the
situation.<br>
<br>
Thanks a lot and keep up the good work with ActiveMQ.<br>
<br>
--<br>
Manuel<br>
<br>
<br>
<br>
<br>
</body>
</html>

Mime
View raw message