You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/10/06 08:30:08 UTC
[3/4] camel git commit: CAMEL-11881: Handling special arguments when
declaring queues
CAMEL-11881: Handling special arguments when declaring queues
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a57a06e6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a57a06e6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a57a06e6
Branch: refs/heads/camel-2.19.x
Commit: a57a06e609970427bb58e0e7a2215fe7352824e6
Parents: 2b8e5ad
Author: Veiga Ortiz, Héctor <he...@here.com>
Authored: Thu Oct 5 19:16:32 2017 -0500
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Oct 6 10:29:50 2017 +0200
----------------------------------------------------------------------
.../component/rabbitmq/RabbitMQConstants.java | 3 +++
.../rabbitmq/RabbitMQDeclareSupport.java | 18 ++++++++++++++++++
2 files changed, 21 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/a57a06e6/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConstants.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConstants.java
index 0ae82b2..fc6a326 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConstants.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConstants.java
@@ -42,6 +42,9 @@ public final class RabbitMQConstants {
public static final String RABBITMQ_DEAD_LETTER_ROUTING_KEY = "x-dead-letter-routing-key";
public static final String RABBITMQ_DIRECT_REPLY_EXCHANGE = "";
public static final String RABBITMQ_DIRECT_REPLY_ROUTING_KEY = "amq.rabbitmq.reply-to";
+ public static final String RABBITMQ_QUEUE_LENGHT_LIMIT_KEY = "x-max-length";
+ public static final String RABBITMQ_QUEUE_MESSAGE_TTL_KEY = "x-message-ttl";
+ public static final String RABBITMQ_QUEUE_TTL_KEY = "x-expires";
private RabbitMQConstants() {
//Constants class
http://git-wip-us.apache.org/repos/asf/camel/blob/a57a06e6/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 b38eae9..03fc325 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
@@ -60,9 +60,27 @@ public class RabbitMQDeclareSupport {
populateQueueArgumentsFromDeadLetterExchange(queueArgs);
populateQueueArgumentsFromConfigurer(queueArgs);
queueArgs.putAll(endpoint.getQueueArgs());
+ formatSpecialQueueArguments(queueArgs);
return queueArgs;
}
+ private void formatSpecialQueueArguments(Map<String, Object> queueArgs) {
+ Object queueLengthLimit = queueArgs.get(RabbitMQConstants.RABBITMQ_QUEUE_LENGHT_LIMIT_KEY);
+ if (queueLengthLimit != null && queueLengthLimit instanceof String) {
+ queueArgs.put(RabbitMQConstants.RABBITMQ_QUEUE_LENGHT_LIMIT_KEY, Long.parseLong((String) queueLengthLimit));
+ }
+
+ Object queueMessageTtl = queueArgs.get(RabbitMQConstants.RABBITMQ_QUEUE_MESSAGE_TTL_KEY);
+ if (queueMessageTtl != null && queueMessageTtl instanceof String) {
+ queueArgs.put(RabbitMQConstants.RABBITMQ_QUEUE_MESSAGE_TTL_KEY, Long.parseLong((String) queueMessageTtl));
+ }
+
+ Object queueExpiration = queueArgs.get(RabbitMQConstants.RABBITMQ_QUEUE_TTL_KEY);
+ if (queueExpiration != null && queueExpiration instanceof String) {
+ queueArgs.put(RabbitMQConstants.RABBITMQ_QUEUE_TTL_KEY, Long.parseLong((String) queueExpiration));
+ }
+ }
+
private Map<String, Object> populateQueueArgumentsFromDeadLetterExchange(final Map<String, Object> queueArgs) {
if (endpoint.getDeadLetterExchange() != null) {
queueArgs.put(RabbitMQConstants.RABBITMQ_DEAD_LETTER_EXCHANGE, endpoint.getDeadLetterExchange());