diff --git a/src/main/java/org/redisson/BaseConfig.java b/src/main/java/org/redisson/BaseConfig.java index d6a811fea..421229a5f 100644 --- a/src/main/java/org/redisson/BaseConfig.java +++ b/src/main/java/org/redisson/BaseConfig.java @@ -19,11 +19,19 @@ package org.redisson; class BaseConfig> { /** - * Ping timeout used in Node.ping and Node.pingAll operation + * Ping timeout used in Node.ping and Node.pingAll operation. + * Value in milliseconds. * */ private int pingTimeout = 1000; + /** + * Connect timeout used for any Redis server connection. + * Value in milliseconds. + * + */ + private int connectTimeout = 1000; + /** * Redis operation execution timeout. * Then amount is reached exception will be thrown in case of sync operation usage @@ -71,6 +79,7 @@ class BaseConfig> { setClientName(config.getClientName()); setPingTimeout(config.getPingTimeout()); setRefreshConnectionAfterFails(config.getRefreshConnectionAfterFails()); + setConnectTimeout(config.getConnectTimeout()); } /** @@ -204,5 +213,18 @@ class BaseConfig> { return closeConnectionAfterFailAttempts; } + /** + * Connect timeout used for any Redis server connection. + * + * @param connectTimeout - timeout in milliseconds + * @return + */ + public T setConnectTimeout(int connectTimeout) { + this.connectTimeout = connectTimeout; + return (T) this; + } + public int getConnectTimeout() { + return connectTimeout; + } } diff --git a/src/main/java/org/redisson/SentinelServersConfig.java b/src/main/java/org/redisson/SentinelServersConfig.java index 88f21819e..b2887e1f0 100644 --- a/src/main/java/org/redisson/SentinelServersConfig.java +++ b/src/main/java/org/redisson/SentinelServersConfig.java @@ -16,7 +16,6 @@ package org.redisson; import java.net.URI; -import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index 2a9eea72e..b0064de55 100644 --- a/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -84,7 +84,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { if (connection != null) { return connection; } - RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getTimeout()); + RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getConnectTimeout()); try { connection = client.connect(); nodeConnections.put(addr, connection); diff --git a/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java b/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java index 4e52ed638..e48bc419b 100644 --- a/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java +++ b/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java @@ -93,7 +93,7 @@ public class ElasticacheConnectionManager extends MasterSlaveConnectionManager { if (connection != null) { return connection; } - RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getTimeout()); + RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getConnectTimeout()); try { connection = client.connect(); nodeConnections.put(addr, connection); diff --git a/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java b/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java index 739ee241a..0fc529cbb 100644 --- a/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java +++ b/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java @@ -155,7 +155,7 @@ public class MasterSlaveConnectionManager implements ConnectionManager { @Override public RedisClient createClient(String host, int port) { - RedisClient client = createClient(host, port, config.getTimeout()); + RedisClient client = createClient(host, port, config.getConnectTimeout()); clients.add(new RedisClientEntry(client)); return client; } diff --git a/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/src/main/java/org/redisson/connection/SentinelConnectionManager.java index dcba0276a..12b3fdc8a 100755 --- a/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -70,7 +70,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { List disconnectedSlaves = new ArrayList(); for (URI addr : cfg.getSentinelAddresses()) { - RedisClient client = createClient(addr.getHost(), addr.getPort(), c.getTimeout()); + RedisClient client = createClient(addr.getHost(), addr.getPort(), c.getConnectTimeout()); try { RedisConnection connection = client.connect(); if (!connection.isActive()) { @@ -128,7 +128,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { } private void registerSentinel(final SentinelServersConfig cfg, final URI addr, final MasterSlaveServersConfig c) { - RedisClient client = createClient(addr.getHost(), addr.getPort(), c.getTimeout()); + RedisClient client = createClient(addr.getHost(), addr.getPort(), c.getConnectTimeout()); RedisClient oldClient = sentinels.putIfAbsent(addr.getHost() + ":" + addr.getPort(), client); if (oldClient != null) { return;