Repository: camel Updated Branches: refs/heads/master 0d35f4c0d -> 8a1549fe6
CAMEL-10131 added exclusive queues support Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/80d21843 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/80d21843 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/80d21843 Branch: refs/heads/master Commit: 80d21843894c30fff68f48dab9e1c28d6b0ca544 Parents: 0d35f4c Author: Bogdan Albei <bogdan.al...@gmail.com> Authored: Fri Aug 26 15:06:19 2016 +0100 Committer: Bogdan Albei <bogdan.al...@gmail.com> Committed: Fri Aug 26 15:06:19 2016 +0100 ---------------------------------------------------------------------- .../component/rabbitmq/RabbitMQDeclareSupport.java | 2 +- .../camel/component/rabbitmq/RabbitMQEndpoint.java | 13 +++++++++++++ .../camel/component/rabbitmq/RabbitMQEndpointTest.java | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/80d21843/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQDeclareSupport.java ---------------------------------------------------------------------- diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQDeclareSupport.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQDeclareSupport.java index 5707312..1a0c6d8 100644 --- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQDeclareSupport.java +++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQDeclareSupport.java @@ -103,7 +103,7 @@ public class RabbitMQDeclareSupport { private void declareAndBindQueue(final Channel channel, final String queue, final String exchange, final String routingKey, final Map<String, Object> arguments) throws IOException { - channel.queueDeclare(queue, endpoint.isDurable(), false, endpoint.isAutoDelete(), arguments); + channel.queueDeclare(queue, endpoint.isDurable(), endpoint.isExclusive(), endpoint.isAutoDelete(), arguments); if (shouldBindQueue()) { channel.queueBind(queue, exchange, emptyIfNull(routingKey)); } http://git-wip-us.apache.org/repos/asf/camel/blob/80d21843/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java index cfd9a06..b503326 100644 --- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java +++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java @@ -70,6 +70,8 @@ public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint { private boolean autoDelete = true; @UriParam(label = "common", defaultValue = "true") private boolean durable = true; + @UriParam(label = "common", defaultValue = "false") + private boolean exclusive = false; @UriParam(label = "producer") private boolean bridgeEndpoint; @UriParam(label = "common") @@ -863,4 +865,15 @@ public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint { return replyTo; } + public boolean isExclusive() { + return exclusive; + } + + /** + * Exclusive queues may only be accessed by the current connection, and are deleted when that connection closes. + */ + public void setExclusive(boolean exclusive) { + this.exclusive = exclusive; + } + } http://git-wip-us.apache.org/repos/asf/camel/blob/80d21843/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQEndpointTest.java ---------------------------------------------------------------------- diff --git a/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQEndpointTest.java b/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQEndpointTest.java index e8c4267..a9a53dc 100644 --- a/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQEndpointTest.java +++ b/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQEndpointTest.java @@ -266,4 +266,10 @@ public class RabbitMQEndpointTest extends CamelTestSupport { RabbitMQEndpoint endpoint = context.getEndpoint("rabbitmq:localhost/exchange?SkipQueueBind=true", RabbitMQEndpoint.class); assertTrue(endpoint.isSkipQueueBind()); } + + @Test + public void createEndpointWithExclusiveEnabled() throws Exception { + RabbitMQEndpoint endpoint = context.getEndpoint("rabbitmq:localhost/exchange?exclusive=true", RabbitMQEndpoint.class); + assertTrue(endpoint.isExclusive()); + } }