Hi All,

Hopefully someone can help me out here. In the project I'm working on we're 
using the camel-rabbitmq component to connect to a cluster of three RabbitMQ 
nodes. We're using the addresses parameter in the URL configuration of the 
RabbitMQ facing endpoints, like this:

from:rabbitmq://vmsys:5671/emailExchange?connectionFactory=rabbitConnectionFactory&autoDelete=false&queue=emailrouteQueue&exchangeType=topic&autoAck=false&addresses=vmsys:5671,vmsys2:5671,vmsys3:5671

Today the primary node 'vmsys' in that cluster got brought down for some OS 
patches and Camel in turn started logging this:

WARN  o.a.c.c.r.RabbitConsumer  - Unable to obtain a RabbitMQ channel. Will try 
again
INFO  o.a.c.c.r.RabbitConsumer  - Attempting to open a new rabbitMQ channel

Tried a restart of the application in the hopes that Camel might pick up the 
next node 'vmsys2' in the addresses list but no such thing, instead this was 
printed in the logs:

com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: 
#method<channel.close>(reply-code=404, reply-text=NOT_FOUND - home node 
'rabbit@vmsys' of durable queue 'emailrouteQueue' in vhost '/comms' is down or 
inaccessible, class-id=50, method-id=10)

In the RabbitMQ console on vmsys2 the queue statuses were showing up with a red 
flag and a message stating 'The queue is located on a cluster node or nodes 
that are down'.

I would have expected that Camel would simply switch over to the second node in 
the addresses list if the primary goes down. Also, while I'm seeing the queues 
from the vmsys2 node's console application it doesn't look like they're 
actually being replicated there like for our Spring application queues.
Is there something wrong in endpoint configuration that you can see or the 
connection factory setup? Think I followed the docs as best as I could.

Here is also how the rabbitConnectionFactory is instantiated:

@Bean(name = "rabbitConnectionFactory")
    public ConnectionFactory customerCommsCachingConnectionFactory() throws 
KeyManagementException, NoSuchAlgorithmException {
        ConnectionFactory cf = new ConnectionFactory();
        cf.setHost(rabbitHost);
       cf.setPort(rabbitPort);
        cf.setUsername(rabbitUser);
        cf.setPassword(rabbitPassword);
        cf.setVirtualHost(rabbitVirtualhost);
        cf.setAutomaticRecoveryEnabled(false);
        if (sslEnabled)
                cf.useSslProtocol();
        return cf;
    }

Any help on this would be greatly appreciated. If you need any more info on 
this please let me know, I'll do my best to supply it.


Thanks and Regards,
Valdis

Vhi Group DAC (Vhi) is a holding company for insurance and healthcare services, 
which include Vhi Healthcare DAC, Vhi Insurance DAC, Vhi Health Services DAC 
and Vhi Investments DAC. Vhi Healthcare DAC trading as Vhi Healthcare and Vhi 
Insurance DAC trading as Vhi Insurance are regulated by the Central Bank of 
Ireland. Vhi Healthcare is tied to Vhi Insurance DAC for health insurance in 
Ireland which is underwritten by Vhi Insurance DAC. Vhi Healthcare is tied to 
Zurich Life Assurance plc for Vhi Life Term Insurance and Vhi Mortgage 
Protection which is underwritten by Zurich Life Assurance plc. Vhi Healthcare 
is tied to Collinson Insurance Services Limited for MultiTrip Travel Insurance, 
Backpacker Travel Insurance and Vhi Dental Insurance which are underwritten by 
Great Lakes Insurance SE, UK branch and for Vhi Canada Cover and Vhi 
International Health Insurance which are underwritten by Astrenska Insurance 
Limited. For more information about the Vhi Group please go to: 
https://www.vhi.ie/about-vhi.


Tá Vhi Group DAC (Vhi) ina chuideachta sealbhaíochta le haghaidh seirbhísí 
árachais agus seirbhísí cúram sláinte, lena n-áirítear Vhi Healthcare DAC, Vhi 
Insurance DAC, Vhi Health Services DAC agus Vhi Investments DAC. Déanann Banc 
Ceannais na hÉireann rialáil ar Vhi Healthcare DAC, ag trádáil dó mar Vhi 
Healthcare, agus ar Vhi Insurance DAC, ag trádáil dó mar Vhi Insurance. Tá Vhi 
Healthcare ceangailte le Vhi Insurance DAC le haghaidh árachas sláinte in 
Éirinn, rud atá frithgheallta ag Vhi Insurance DAC. Tá Vhi Healthcare 
ceangailte le Zurich Life Assurance plc le haghaidh Árachais Saoil de chuid Vhi 
agus Árachas Cosanta Morgáiste de chuid Vhi atá frithgheallta ag Zurich Life 
Assurance plc. Tá Vhi Healthcare ceangailte le Collinson Insurance Services 
Limited le haghaidh Árachas Taistil Ilturais agus Turasóirí Mála Droma agus 
Árachas Fiaclóireachta de chuid Vhi atá frithgheallta ag Great Lakes Insurance 
SE, UK branch agus le haghaidh Clúdach Cheanada de chuid Vhi agus Árachas 
Sláinte Idirnáisiúnta de chuid Vhi atá frithgheallta ag Astrenska Insurance 
Limited. Chun tuilleadh faisnéise a fháil faoi Ghrúpa Vhi, tabhair cuairt ar: 
https://www.vhi.ie/about-vhi.

This e-mail and any files transmitted with it contain information which may be 
confidential and which may also be privileged and is intended solely for the 
use of the individual or entity to whom it is addressed. Unless you are the 
intended recipient you may not copy or use it, or disclose it to anyone else. 
Any opinions expressed are that of the individual and not necessarily that of 
the Vhi Group. If you have received this e-mail in error please notify the 
sender by return.







Reply via email to