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());
+    }
 }

Reply via email to