1

I am trying to bind two queues to an exchange. Both queues must consume the same message (routing key). I am able to create these two queues directly with RabbitMQ. However, when I try the same with Apache Camel, it throws an exception stating "Multiple consumers are not allowed for the same endpoint". I am assuming that this must be possible with Camel since it is a basic feature in RabbitMQ.

I am using Camel RabbitMQ plugin. Is there some additional configuration that's required to get this working?

Anoop
  • 813
  • 2
  • 10
  • 24

1 Answers1

0

Since Apache Camel is a generic integration framework based on Enterprise integration patterns , it does not allows multiple listeners on the same route. So while RabbitMQ supports multiple queues bonded to an exchange , Camel will not carry forward such bindings . What you can try to do however is this.

  1. Have two separate exchanges with each exchange bonded to a single queue.

  2. This will allow you to have two separate consumers each bonded to a single respective exchange

  3. Do an exchange to exchange direct binding between the two exchanges created in the previous step.

This should help.

Soumen Mukherjee
  • 2,953
  • 3
  • 22
  • 34