Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Information Provided
-
2.14.1
-
None
-
Unknown
Description
Currently all exchanges must set the autoDelete and exchangeType properties, and cannot be left empty, otherwise camel-rabbitmq will complain that these don't match.
The RabbitMQ builtin exchanges have predefined behavior and should be usable from camel-rabbitmq without setting these properties:
1. "" / amq.direct
2. amq.fanout
3. amq.topic
4. amq.match, amq.headers
In addition, when consuming from these, durable & autoDelete should configure the queue that will be bound to these exchanges, not the current behavior of configuring these builtin exchanges.
For example, currently it's impossible to do:
rabbitmq://localhost/amq.topic?durable=false&autoDelete=true&routingKey=lumen.speech.synthesis
Which is actually is a common scenario: declare a durable, auto-delete, autonamed queue that is bound to exchange amq.topic and routing key lumen.speech.synthesis. Instead, RabbitMQ fails with error.
Another request is to support exclusive=true, which is typically used for autogenerated queues.
Reference: https://www.rabbitmq.com/tutorials/amqp-concepts.html
Relates to CAMEL-8270
Attachments
Issue Links
- is related to
-
CAMEL-8270 camel-rabbitmq: exchangeName in URI must be optional, i.e. default "" exchange
- Resolved