You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2020/07/15 04:36:11 UTC
[james-project] 03/09: JAMES-3305 Helper for RabbitMQ DeadLetter
queue option
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit f0f598a754e0aac37ef1e77bede04506251adc8c
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Fri Jul 10 11:25:37 2020 +0700
JAMES-3305 Helper for RabbitMQ DeadLetter queue option
---
.../src/main/java/org/apache/james/backends/rabbitmq/Constants.java | 4 ++++
.../org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/Constants.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/Constants.java
index 021ab60..e415470 100644
--- a/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/Constants.java
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/Constants.java
@@ -45,4 +45,8 @@ public interface Constants {
AMQP.BasicProperties NO_PROPERTIES = new AMQP.BasicProperties();
ImmutableMap<String, Object> NO_ARGUMENTS = ImmutableMap.of();
+
+ static ImmutableMap<String, Object> deadLetterQueue(String deadLetterQueueName) {
+ return ImmutableMap.of("x-dead-letter-exchange", deadLetterQueueName);
+ }
}
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
index 4dd0181..6d729ae 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
@@ -24,6 +24,7 @@ import static org.apache.james.backends.rabbitmq.Constants.DURABLE;
import static org.apache.james.backends.rabbitmq.Constants.EMPTY_ROUTING_KEY;
import static org.apache.james.backends.rabbitmq.Constants.EXCLUSIVE;
import static org.apache.james.backends.rabbitmq.Constants.NO_ARGUMENTS;
+import static org.apache.james.backends.rabbitmq.Constants.deadLetterQueue;
import static org.apache.james.queue.api.MailQueue.QUEUE_SIZE_METRIC_NAME_PREFIX;
import java.time.Clock;
@@ -46,7 +47,6 @@ import org.apache.james.queue.rabbitmq.view.RabbitMQMailQueueConfiguration;
import org.apache.james.queue.rabbitmq.view.api.MailQueueView;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import reactor.core.publisher.Flux;
@@ -164,7 +164,7 @@ public class RabbitMQMailQueueFactory implements MailQueueFactory<RabbitMQMailQu
.durable(DURABLE)
.exclusive(!EXCLUSIVE)
.autoDelete(!AUTO_DELETE)
- .arguments(ImmutableMap.of("x-dead-letter-exchange", mailQueueName.toDeadLetterExchangeName()))),
+ .arguments(deadLetterQueue(mailQueueName.toDeadLetterExchangeName()))),
sender.declareQueue(QueueSpecification.queue(mailQueueName.toDeadLetterQueueName())
.durable(DURABLE)
.exclusive(!EXCLUSIVE)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org