Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-8271

camel-rabbitmq: Builtin exchanges should support autoDelete & exchangeType as properties for queue declare

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Information Provided
    • 2.14.1
    • Future
    • camel-rabbitmq
    • 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

          Activity

            People

              Unassigned Unassigned
              ceefour Hendy Irawan
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: