[ 
https://issues.apache.org/jira/browse/CAMEL-8271?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hendy Irawan updated CAMEL-8271:
--------------------------------
    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

  was:
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

Reference: https://www.rabbitmq.com/tutorials/amqp-concepts.html

Relates to CAMEL-8270


> camel-rabbitmq: Builtin exchanges should not require autoDelete & 
> exchangeType properties
> -----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-8271
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8271
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-rabbitmq
>    Affects Versions: 2.14.1
>            Reporter: Hendy Irawan
>            Priority: Trivial
>
> 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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to