You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Fabian Chanton (JIRA)" <ji...@apache.org> on 2016/04/06 10:15:25 UTC

[jira] [Updated] (CAMEL-9824) Add possibility to let the server generate a name for a queue

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

Fabian Chanton updated CAMEL-9824:
----------------------------------
    Description: 
This problem is similar to CAMEL-9815

For a project we have to declare a queue without a name. The server then auto-generates a random name and passes it back.

If we do not specify a queue name, RabbitMQEndpoint defines a random name for us. This however is not allowed on the server.

I locally tried a fix for RabbitMQDeclareSupport, where instead of using 
{code:java}
        channel.queueDeclare(queue, endpoint.isDurable(), false, endpoint.isAutoDelete(), arguments);
        channel.queueBind(queue, exchange, emptyIfNull(routingKey));
{code}

i declare the queue like this:

{code:java}
      DeclareOk declareOk = channel.queueDeclare();
      endpoint.setQueue(declareOk.getQueue());
{code}

This has some drawbacks, as it completely ignores endpoint.isDurable(), endpoint.isAutoDelete() etc. and even the routing key is ignored.

I don't know how to best add a possibility to declare server named queues.



  was:
This problem is similar to CAMEL-9815

For a project we have to declare a queue without a name. The server then auto-generates a random name and passes it back.

If we do not specify a queue name, RabbitMQEndpoint defines a random name for us. This however is not allowed on the server.

I locally tried a fix for RabbitMQDeclareSupport, where instead using 
{code:java}
        channel.queueDeclare(queue, endpoint.isDurable(), false, endpoint.isAutoDelete(), arguments);
        channel.queueBind(queue, exchange, emptyIfNull(routingKey));
{code}

i declare the queue like this:

{code:java}
      DeclareOk declareOk = channel.queueDeclare();
      endpoint.setQueue(declareOk.getQueue());
{code}

This has some drawbacks, as it completely ignores endpoint.isDurable(), endpoint.isAutoDelete() etc. and even the routing key is ignored.

I don't know how to best add a possibility to declare server named queues.




> Add possibility to let the server generate a name for a queue
> -------------------------------------------------------------
>
>                 Key: CAMEL-9824
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9824
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-rabbitmq
>    Affects Versions: 2.17.0
>            Reporter: Fabian Chanton
>            Priority: Minor
>
> This problem is similar to CAMEL-9815
> For a project we have to declare a queue without a name. The server then auto-generates a random name and passes it back.
> If we do not specify a queue name, RabbitMQEndpoint defines a random name for us. This however is not allowed on the server.
> I locally tried a fix for RabbitMQDeclareSupport, where instead of using 
> {code:java}
>         channel.queueDeclare(queue, endpoint.isDurable(), false, endpoint.isAutoDelete(), arguments);
>         channel.queueBind(queue, exchange, emptyIfNull(routingKey));
> {code}
> i declare the queue like this:
> {code:java}
>       DeclareOk declareOk = channel.queueDeclare();
>       endpoint.setQueue(declareOk.getQueue());
> {code}
> This has some drawbacks, as it completely ignores endpoint.isDurable(), endpoint.isAutoDelete() etc. and even the routing key is ignored.
> I don't know how to best add a possibility to declare server named queues.



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