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