We are running into an issue with ActiveMQ JMS to JMS Bridge.  

On Server A we have a stand alone instance of ActiveMQ with 4 queues:

queue_1_inbound
queue_2_inbound
queue_3_inbound
queue_outbound



On Server B we have 3 embedded ActiveMQ instances, each in their own JVM. 
JVM 1 will have an inbound queue bridge to queue_1_inbound and an outbound
queue bridge to queue_outbound.  JVM 2 will have an inbound queue bridge to
queue_2_inbound and an outbound queue bridge to queue_outbound. JVM 3 will
have an inbound queue bridge to queue_3_inbound and an outbound queue bridge
to queue_outbound.  Each embedded broker is set up exactly the same except
for the inbound queue name and the TransportConnector ports.



What is happening is at some point in time we get an EOFException being
logged and the JMS Bridge connectors are not resetting properly.  So the
following message is logged every minute or so.



We checked the Advisory messages coming through and there was no indication
of a problem.  Digging through the code, I noticed that on TCPTransport, if
an Exception is thrown; the run() method logs the error and then exits.  I
guess a connection is made based on the last log message, but the bridges
are not reset. And so it keeps disconnecting, and reconnecting.  However,
when looking at Sever A's admin console; the connection never returns.  A
restart of the application is required to re-establish the connection and
bridges.

If I am understanding the code correctly, this seems like a bug.  If the
TCPTransport catches an Exception, shouldn't it thrown the exception out and
cause the JMS Bridge connector to re-establish the connections and bridges? 

This problem is hard for me to reproduce in any other environment, but our
production environment (go figure).  




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/JMS-to-JMS-Bridge-Connection-tp4684129.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to