You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by raghavan20 <ra...@googlemail.com> on 2017/06/02 22:36:59 UTC

RabbitMQ component: Redeclare Queue on Network issues or RabbitMQ restart

I have a setup where RabbitMQ queue is set to 'auto-delete'. There are
situations where RabbitMQ consumer app can lose its connection / channel to
RMQ server because of

- networking issue
- RabbitMQ server has been restarted

In both situations, there is a high possibility that the queue may be
deleted by RabbitMQ as there are no active consumers. It would be good when
the connection is reestablished and if 'declare' is true on 'rabbitmq
component', the queue is redeclared. Otherwise even though connection is
reestablished the queue is not created.

Workaround but not preferred - background thread to ensure queue is always
there. so when client reestablishes connection, the messages flow to
consuming app

Possible implementation change to rabbitmq-component - extend
org.apache.camel.component.rabbitmq.RabbitConsumer to reconnect plus declare
queue on handleShutdownSignal or - RabbitConsumer to notify external
listeners to perform some work (redeclare queue) on channel shutdown

Apart from the above, please let know if there are any reasonable
workaround(s) without modifying camel-rabbitmq component?

Cheers



--
View this message in context: http://camel.465427.n5.nabble.com/RabbitMQ-component-Redeclare-Queue-on-Network-issues-or-RabbitMQ-restart-tp5801718.html
Sent from the Camel - Users mailing list archive at Nabble.com.