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/20 04:17:31 UTC

[james-project] 08/10: JAMES-3082 set a rabbitMQ connection network recovery interval of 1 second in test

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 212714987f7af808076d62c1260f4adb6025a2d4
Author: RĂ©mi KOWALSKI <rk...@linagora.com>
AuthorDate: Wed Mar 11 10:58:54 2020 +0100

    JAMES-3082 set a rabbitMQ connection  network recovery interval of 1 second in test
---
 .../backends/rabbitmq/RabbitMQConfiguration.java   | 25 ++++++++++++++++++----
 .../rabbitmq/RabbitMQConnectionFactory.java        |  1 +
 .../james/backends/rabbitmq/DockerRabbitMQ.java    |  2 ++
 3 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConfiguration.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConfiguration.java
index 8b12e2a..39b3be5 100644
--- a/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConfiguration.java
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConfiguration.java
@@ -102,6 +102,7 @@ public class RabbitMQConfiguration {
         static final int DEFAULT_CHANNEL_RPC_TIMEOUT = 60_000;
         static final int DEFAULT_HANDSHAKE_TIMEOUT = 10_000;
         static final int DEFAULT_SHUTDOWN_TIMEOUT = 10_000;
+        static final int DEFAULT_NETWORK_RECOVERY_INTERVAL = 5_000;
 
         private final URI amqpUri;
         private final URI managementUri;
@@ -112,6 +113,7 @@ public class RabbitMQConfiguration {
         private Optional<Integer> channelRpcTimeoutInMs;
         private Optional<Integer> handshakeTimeoutInMs;
         private Optional<Integer> shutdownTimeoutInMs;
+        private Optional<Integer> networkRecoveryIntervalInMs;
 
         private Builder(URI amqpUri, URI managementUri, ManagementCredentials managementCredentials) {
             this.amqpUri = amqpUri;
@@ -123,6 +125,7 @@ public class RabbitMQConfiguration {
             this.channelRpcTimeoutInMs = Optional.empty();
             this.handshakeTimeoutInMs = Optional.empty();
             this.shutdownTimeoutInMs = Optional.empty();
+            this.networkRecoveryIntervalInMs = Optional.empty();
         }
 
         public Builder maxRetries(int maxRetries) {
@@ -155,6 +158,11 @@ public class RabbitMQConfiguration {
             return this;
         }
 
+        public Builder networkRecoveryIntervalInMs(int networkRecoveryInterval) {
+            this.networkRecoveryIntervalInMs = Optional.of(networkRecoveryInterval);
+            return this;
+        }
+
         public RabbitMQConfiguration build() {
             Preconditions.checkNotNull(amqpUri, "'amqpUri' should not be null");
             Preconditions.checkNotNull(managementUri, "'managementUri' should not be null");
@@ -167,7 +175,8 @@ public class RabbitMQConfiguration {
                     connectionTimeoutInMs.orElse(DEFAULT_CONNECTION_TIMEOUT),
                     channelRpcTimeoutInMs.orElse(DEFAULT_CHANNEL_RPC_TIMEOUT),
                     handshakeTimeoutInMs.orElse(DEFAULT_HANDSHAKE_TIMEOUT),
-                    shutdownTimeoutInMs.orElse(DEFAULT_SHUTDOWN_TIMEOUT)
+                    shutdownTimeoutInMs.orElse(DEFAULT_SHUTDOWN_TIMEOUT),
+                    networkRecoveryIntervalInMs.orElse(DEFAULT_NETWORK_RECOVERY_INTERVAL)
                 );
         }
     }
@@ -212,12 +221,13 @@ public class RabbitMQConfiguration {
     private final int channelRpcTimeoutInMs;
     private final int handshakeTimeoutInMs;
     private final int shutdownTimeoutInMs;
+    private final int networkRecoveryIntervalInMs;
 
 
     private final ManagementCredentials managementCredentials;
 
     private RabbitMQConfiguration(URI uri, URI managementUri, ManagementCredentials managementCredentials, int maxRetries, int minDelayInMs,
-                                  int connectionTimeoutInMs, int channelRpcTimeoutInMs, int handshakeTimeoutInMs, int shutdownTimeoutInMs) {
+                                  int connectionTimeoutInMs, int channelRpcTimeoutInMs, int handshakeTimeoutInMs, int shutdownTimeoutInMs, int networkRecoveryIntervalInMs) {
         this.uri = uri;
         this.managementUri = managementUri;
         this.managementCredentials = managementCredentials;
@@ -227,6 +237,7 @@ public class RabbitMQConfiguration {
         this.channelRpcTimeoutInMs = channelRpcTimeoutInMs;
         this.handshakeTimeoutInMs = handshakeTimeoutInMs;
         this.shutdownTimeoutInMs = shutdownTimeoutInMs;
+        this.networkRecoveryIntervalInMs = networkRecoveryIntervalInMs;
     }
 
     public URI getUri() {
@@ -261,6 +272,10 @@ public class RabbitMQConfiguration {
         return shutdownTimeoutInMs;
     }
 
+    public int getNetworkRecoveryIntervalInMs() {
+        return networkRecoveryIntervalInMs;
+    }
+
     public ManagementCredentials getManagementCredentials() {
         return managementCredentials;
     }
@@ -278,7 +293,9 @@ public class RabbitMQConfiguration {
                 && Objects.equals(this.channelRpcTimeoutInMs, that.channelRpcTimeoutInMs)
                 && Objects.equals(this.handshakeTimeoutInMs, that.handshakeTimeoutInMs)
                 && Objects.equals(this.shutdownTimeoutInMs, that.shutdownTimeoutInMs)
-                && Objects.equals(this.managementCredentials, that.managementCredentials);
+                && Objects.equals(this.networkRecoveryIntervalInMs, that.networkRecoveryIntervalInMs)
+                && Objects.equals(this.managementCredentials, that.managementCredentials
+            );
         }
         return false;
     }
@@ -286,6 +303,6 @@ public class RabbitMQConfiguration {
     @Override
     public final int hashCode() {
         return Objects.hash(uri, managementUri, maxRetries, minDelayInMs, connectionTimeoutInMs,
-            channelRpcTimeoutInMs, handshakeTimeoutInMs, shutdownTimeoutInMs, managementCredentials);
+            channelRpcTimeoutInMs, handshakeTimeoutInMs, shutdownTimeoutInMs, networkRecoveryIntervalInMs, managementCredentials);
     }
 }
diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConnectionFactory.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConnectionFactory.java
index 7d3c569..a3086c7 100644
--- a/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConnectionFactory.java
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backends/rabbitmq/RabbitMQConnectionFactory.java
@@ -48,6 +48,7 @@ public class RabbitMQConnectionFactory {
             connectionFactory.setShutdownTimeout(rabbitMQConfiguration.getShutdownTimeoutInMs());
             connectionFactory.setChannelRpcTimeout(rabbitMQConfiguration.getChannelRpcTimeoutInMs());
             connectionFactory.setConnectionTimeout(rabbitMQConfiguration.getConnectionTimeoutInMs());
+            connectionFactory.setNetworkRecoveryInterval(rabbitMQConfiguration.getNetworkRecoveryIntervalInMs());
             return connectionFactory;
         } catch (Exception e) {
             throw new RuntimeException(e);
diff --git a/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java b/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
index 60d4db0..fc03b7a 100644
--- a/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
+++ b/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
@@ -52,6 +52,7 @@ public class DockerRabbitMQ {
     private static final int CHANNEL_RPC_TIMEOUT_OF_ONE_SECOND = 1000;
     private static final int HANDSHAKE_TIMEOUT_OF_ONE_SECOND = 1000;
     private static final int SHUTDOWN_TIMEOUT_OF_ONE_SECOND = 1000;
+    private static final int NETWORK_RECOVERY_INTERVAL_OF_ONE_SECOND = 1000;
     private static final String DEFAULT_RABBIT_HOST_NAME_PREFIX = "my-rabbit";
     private static final String DEFAULT_RABBIT_NODE_NAME_PREFIX = "rabbit";
     private static final int DEFAULT_RABBITMQ_PORT = 5672;
@@ -263,6 +264,7 @@ public class DockerRabbitMQ {
             .channelRpcTimeoutInMs(CHANNEL_RPC_TIMEOUT_OF_ONE_SECOND)
             .handshakeTimeoutInMs(HANDSHAKE_TIMEOUT_OF_ONE_SECOND)
             .shutdownTimeoutInMs(SHUTDOWN_TIMEOUT_OF_ONE_SECOND)
+            .networkRecoveryIntervalInMs(NETWORK_RECOVERY_INTERVAL_OF_ONE_SECOND)
             .build();
 
         return new RabbitMQConnectionFactory(rabbitMQConfiguration);


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org