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 bt...@apache.org on 2020/03/07 11:25:45 UTC
[james-project] 08/11: JAMES-3103 Add a prefix to EventBus' queue
name
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 0dff06e98530bc9e8b59d93107f4f4c9b5689593
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Fri Mar 6 13:51:30 2020 +0100
JAMES-3103 Add a prefix to EventBus' queue name
---
.../apache/james/mailbox/events/KeyRegistrationHandler.java | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java
index 20c4b4a..c9767b8 100644
--- a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java
+++ b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java
@@ -22,11 +22,12 @@ package org.apache.james.mailbox.events;
import static org.apache.james.backends.rabbitmq.Constants.AUTO_DELETE;
import static org.apache.james.backends.rabbitmq.Constants.DURABLE;
import static org.apache.james.backends.rabbitmq.Constants.EXCLUSIVE;
-import static org.apache.james.backends.rabbitmq.Constants.NO_ARGUMENTS;
import static org.apache.james.mailbox.events.RabbitMQEventBus.EVENT_BUS_ID;
import static org.apache.james.mailbox.events.RetryBackoffConfiguration.FOREVER;
import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -40,6 +41,7 @@ import org.slf4j.LoggerFactory;
import com.github.fge.lambdas.Throwing;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.collect.ImmutableMap;
import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Delivery;
@@ -53,6 +55,9 @@ import reactor.rabbitmq.Sender;
class KeyRegistrationHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(KeyRegistrationHandler.class);
+ private static final String EVENTBUS_QUEUE_NAME_PREFIX = "eventbus-";
+ private static final Duration EXPIRATION_TIMEOUT = Duration.ofMinutes(30);
+ private static final Map<String, Object> QUEUE_ARGUMENTS = ImmutableMap.of("x-expires", EXPIRATION_TIMEOUT.toMillis());
private final EventBusId eventBusId;
private final LocalListenerRegistry localListenerRegistry;
@@ -96,11 +101,11 @@ class KeyRegistrationHandler {
@VisibleForTesting
void declareQueue() {
- sender.declareQueue(QueueSpecification.queue(eventBusId.asString())
+ sender.declareQueue(QueueSpecification.queue(EVENTBUS_QUEUE_NAME_PREFIX + eventBusId.asString())
.durable(DURABLE)
.exclusive(!EXCLUSIVE)
.autoDelete(AUTO_DELETE)
- .arguments(NO_ARGUMENTS))
+ .arguments(QUEUE_ARGUMENTS))
.map(AMQP.Queue.DeclareOk::getQueue)
.retryBackoff(retryBackoff.getMaxRetries(), retryBackoff.getFirstBackoff(), FOREVER, retryBackoff.getJitterFactor())
.doOnSuccess(queueName -> {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org