You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/08/27 07:56:55 UTC

git commit: CAMEL-7552 RabbitMQ Component: property to allow declare or not queue and exchange with thanks to Ramon

Repository: camel
Updated Branches:
  refs/heads/master 02973683e -> 5d3b9457e


CAMEL-7552 RabbitMQ Component: property to allow declare or not queue and exchange with thanks to Ramon


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5d3b9457
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5d3b9457
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5d3b9457

Branch: refs/heads/master
Commit: 5d3b9457ee917328034281ab2b43957011d90072
Parents: 0297368
Author: Willem Jiang <wi...@gmail.com>
Authored: Wed Aug 27 13:56:39 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Wed Aug 27 13:56:39 2014 +0800

----------------------------------------------------------------------
 .../camel/component/rabbitmq/RabbitMQConsumer.java      |  4 +++-
 .../camel/component/rabbitmq/RabbitMQEndpoint.java      | 12 +++++++++++-
 .../camel/component/rabbitmq/RabbitMQProducer.java      |  5 +++--
 3 files changed, 17 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/5d3b9457/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
index 7d8b4d1..09e6ea3 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
@@ -86,7 +86,9 @@ public class RabbitMQConsumer extends DefaultConsumer {
     private void startConsumers() throws IOException {
         // First channel used to declare Exchange and Queue
         Channel channel = openChannel();
-        endpoint.declareExchangeAndQueue(channel);
+        if (getEndpoint().isDeclare()) {
+            endpoint.declareExchangeAndQueue(channel);
+        }
         startConsumer(channel);
         // Other channels
         for (int i = 1; i < endpoint.getConcurrentConsumers(); i++) {

http://git-wip-us.apache.org/repos/asf/camel/blob/5d3b9457/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 d0484b1..78a01ef 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
@@ -73,7 +73,6 @@ public class RabbitMQEndpoint extends DefaultEndpoint {
     private Boolean automaticRecoveryEnabled;
     private Integer networkRecoveryInterval;
     private Boolean topologyRecoveryEnabled;
-
     //If it is true, prefetchSize, prefetchCount, prefetchGlobal will be used for basicOqs before starting RabbitMQConsumer
     private boolean prefetchEnabled;
     //Default in RabbitMq is 0.
@@ -85,6 +84,9 @@ public class RabbitMQEndpoint extends DefaultEndpoint {
      * Number of concurrent consumer threads
      */
     private int concurrentConsumers = 1;
+    
+    //Declares a queue and exchange in RabbitMQ, then binds both.
+    private boolean declare = true;
 
     public RabbitMQEndpoint() {
     }
@@ -472,4 +474,12 @@ public class RabbitMQEndpoint extends DefaultEndpoint {
     public void setConcurrentConsumers(int concurrentConsumers) {
         this.concurrentConsumers = concurrentConsumers;
     }
+
+    public boolean isDeclare() {
+        return declare;
+    }
+
+    public void setDeclare(boolean declare) {
+        this.declare = declare;
+    }        
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/5d3b9457/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
index ea02ce2..f5c7eb4 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java
@@ -56,8 +56,9 @@ public class RabbitMQProducer extends DefaultProducer {
         log.trace("Creating channel...");
         this.channel = conn.createChannel();
         log.debug("Created channel: {}", channel);
-
-        getEndpoint().declareExchangeAndQueue(this.channel);
+        if (getEndpoint().isDeclare()) {
+            getEndpoint().declareExchangeAndQueue(this.channel);
+        }        
     }
 
     @Override