Message loss observed using rabbitmqcomponent when exchange is not provided and messages are sent simultaneously

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content