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 <willem.ji...@gmail.com> Authored: Wed Aug 27 13:56:39 2014 +0800 Committer: Willem Jiang <willem.ji...@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