Message loss observed using rabbitmqcomponent when exchange is not provided and messages are sent simultaneously
Issue
- Message loss observed using rabbitmqcomponent when exchange is not provided and messages are sent simultaneously or the queue is loaded up with 10 messages or more before the Camel-component is started
- Since no value is provided for autoAck the default value true applies
- The setup works fine as long as messages are sent from the other party one at the time
- if a number of messages are sent simultaneously or the queue is loaded up with 10 messages or more before the Camel-component is started this happens:
- From the RabbitMQ-side all the messages are consumed and ack'ed immediately.
- On the Camel-side one or two messages are processed normally
- An error occurs indicating connection problems/access refused.
Channel is already closed due to channel error; protocol method: #method<channel.close>
(reply-code=403, reply-text=ACCESS_REFUSED - access to exchange 'amq.default' in vhost '/' refused for user 'xxxxxx' - The remaining messages are lost - but no logging to indicate that this happens, and the errorHandler in Camel is not invoked.
- After this the component reverts to normal operation and continues to consume messages.
Environment
- Red Hat Fuse
- 7.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.