You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/07/26 11:20:09 UTC
[1/2] camel git commit: CAMEL-10166: Add URI parameter skip QueueBind
in case we need to declare a queue but not bind it to the exchange
Repository: camel
Updated Branches:
refs/heads/master 11b0e39fd -> d57797c33
CAMEL-10166: Add URI parameter skip QueueBind in case we need to declare a queue but not bind it to the exchange
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ade42700
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ade42700
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ade42700
Branch: refs/heads/master
Commit: ade427001b71ef6c2ef6974ec54c1ebfdd07ce27
Parents: 11b0e39
Author: Fabian Chanton <fa...@misurio.ch>
Authored: Tue Jul 26 13:01:17 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jul 26 13:19:40 2016 +0200
----------------------------------------------------------------------
.../camel-rabbitmq/src/main/docs/rabbitmq.adoc | 5 ++++-
.../component/rabbitmq/RabbitMQDeclareSupport.java | 8 +++++++-
.../camel/component/rabbitmq/RabbitMQEndpoint.java | 16 +++++++++++++++-
.../component/rabbitmq/RabbitMQEndpointTest.java | 6 ++++++
4 files changed, 32 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/ade42700/components/camel-rabbitmq/src/main/docs/rabbitmq.adoc
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/docs/rabbitmq.adoc b/components/camel-rabbitmq/src/main/docs/rabbitmq.adoc
index 2e59a32..aeade1d 100644
--- a/components/camel-rabbitmq/src/main/docs/rabbitmq.adoc
+++ b/components/camel-rabbitmq/src/main/docs/rabbitmq.adoc
@@ -48,8 +48,9 @@ The RabbitMQ component has no options.
+
// endpoint options: START
-The RabbitMQ component supports 53 endpoint options which are listed below:
+The RabbitMQ component supports 54 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2s,1,1m,1m,5",options="header"]
@@ -70,6 +71,7 @@ The RabbitMQ component supports 53 endpoint options which are listed below:
| queue | common | | String | The queue to receive messages from
| routingKey | common | | String | The routing key to use when binding a consumer queue to the exchange. For producer routing keys you set the header rabbitmq.ROUTING_KEY.
| skipExchangeDeclare | common | false | boolean | This can be used if we need to declare the queue but not the exchange
+| skipQueueBind | common | false | boolean | If true the queue will not be bound to the exchange after declaring it
| skipQueueDeclare | common | false | boolean | If true the producer will not declare and bind a queue. This can be used for directing messages via an existing routing key.
| vhost | common | / | String | The vhost for the channel
| autoAck | consumer | true | boolean | If messages should be auto acknowledged
@@ -113,6 +115,7 @@ The RabbitMQ component supports 53 endpoint options which are listed below:
// endpoint options: END
+
See
http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html[http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html]
and the AMQP specification for more information on connection options.
http://git-wip-us.apache.org/repos/asf/camel/blob/ade42700/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 5b17370..7ccb6a6 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
@@ -87,12 +87,16 @@ public class RabbitMQDeclareSupport {
return !endpoint.isSkipExchangeDeclare();
}
+ private boolean shouldBindQueue(){
+ return !endpoint.isSkipQueueBind();
+ }
+
private void populateQueueArgumentsFromConfigurer(final Map<String, Object> queueArgs) {
if (endpoint.getQueueArgsConfigurer() != null) {
endpoint.getQueueArgsConfigurer().configurArgs(queueArgs);
}
}
-
+
private void declareExchange(final Channel channel, final String exchange, final String exchangeType, final Map<String, Object> exchangeArgs) throws IOException {
channel.exchangeDeclare(exchange, exchangeType, endpoint.isDurable(), endpoint.isAutoDelete(), exchangeArgs);
}
@@ -100,7 +104,9 @@ 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);
+ if(shouldBindQueue()){
channel.queueBind(queue, exchange, emptyIfNull(routingKey));
+ }
}
private String emptyIfNull(final String routingKey) {
http://git-wip-us.apache.org/repos/asf/camel/blob/ade42700/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 53262f2..bf40766 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
@@ -81,6 +81,8 @@ public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint {
@UriParam(label = "common")
private boolean skipQueueDeclare;
@UriParam(label = "common")
+ private boolean skipQueueBind;
+ @UriParam(label = "common")
private boolean skipExchangeDeclare;
@UriParam(label = "advanced")
private Address[] addresses;
@@ -406,7 +408,19 @@ public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint {
public boolean isSkipQueueDeclare() {
return skipQueueDeclare;
}
-
+
+ /**
+ * If true the queue will not be bound to the exchange after declaring it
+ * @return
+ */
+ public boolean isSkipQueueBind() {
+ return skipQueueBind;
+ }
+
+ public void setSkipQueueBind(boolean skipQueueBind) {
+ this.skipQueueBind = skipQueueBind;
+ }
+
/**
* This can be used if we need to declare the queue but not the exchange
*/
http://git-wip-us.apache.org/repos/asf/camel/blob/ade42700/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 291c907..e8c4267 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
@@ -260,4 +260,10 @@ public class RabbitMQEndpointTest extends CamelTestSupport {
RabbitMQEndpoint endpoint = context.getEndpoint("rabbitmq:localhost/exchange?skipExchangeDeclare=true", RabbitMQEndpoint.class);
assertTrue(endpoint.isSkipExchangeDeclare());
}
+
+ @Test
+ public void createEndpointWithSkipQueueBindEndabled() throws Exception {
+ RabbitMQEndpoint endpoint = context.getEndpoint("rabbitmq:localhost/exchange?SkipQueueBind=true", RabbitMQEndpoint.class);
+ assertTrue(endpoint.isSkipQueueBind());
+ }
}
[2/2] camel git commit: Fixed CS
Posted by ac...@apache.org.
Fixed CS
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d57797c3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d57797c3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d57797c3
Branch: refs/heads/master
Commit: d57797c33adc4119268adcc2efaaa93d3927d522
Parents: ade4270
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue Jul 26 13:19:25 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jul 26 13:19:41 2016 +0200
----------------------------------------------------------------------
.../camel/component/rabbitmq/RabbitMQDeclareSupport.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/d57797c3/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 7ccb6a6..f22592d 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
@@ -87,8 +87,8 @@ public class RabbitMQDeclareSupport {
return !endpoint.isSkipExchangeDeclare();
}
- private boolean shouldBindQueue(){
- return !endpoint.isSkipQueueBind();
+ private boolean shouldBindQueue() {
+ return !endpoint.isSkipQueueBind();
}
private void populateQueueArgumentsFromConfigurer(final Map<String, Object> queueArgs) {
@@ -104,9 +104,9 @@ 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);
- if(shouldBindQueue()){
- channel.queueBind(queue, exchange, emptyIfNull(routingKey));
- }
+ if(shouldBindQueue()){
+ channel.queueBind(queue, exchange, emptyIfNull(routingKey));
+ }
}
private String emptyIfNull(final String routingKey) {