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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
