I was trying to implement a camel-rabbitmq application which connects to a
clustered+ha rabbitmq backend server. The connection is working fine and is
able to poll from a mirrored queue. When running the application, 2 threads
are created for the rabbitmq connection:
<http://camel.465427.n5.nabble.com/file/n5806498/camel-rabbitmq.png> 

To test the auto recovery for network connection issues, I disconnect the
active rabbitmq node from network to trigger the reconnection in the
application. The RabbitMQConsumer successfully creates a new connection to
the backup rabbitmq node. But after the networkRecoveryInterval delay, the
AMQP Connection thread tries to reconnect the previously disconnected
channel. So, after the recovery, there are 3 threads: 1 RabbitMQConsumer,
and 2 AMQP Connections.
<http://camel.465427.n5.nabble.com/file/n5806498/camel-rabbitmq-after-recovery.png>
 

Am I missing any configuration that would use only 1 recovery mechanism -
say use the AMQP Connection recovery?

Im using Spring 4.3.9.RELEASE; camel 2.19.1. I used a custom connection
factory bean just to set the automaticRecoveryEnabled,
topologyRecoveryEnabled, and networkRecoveryInterval. Aside from that, I'm
using the basic configurations in camel.



--
View this message in context: 
http://camel.465427.n5.nabble.com/camel-rabbitmq-autorecovery-causes-multiple-channels-opened-tp5806498.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to