connectTimeout param added. #287

pull/297/head
Nikita 9 years ago
parent 4b95ed4d70
commit 477c2ceb3c

@ -19,11 +19,19 @@ package org.redisson;
class BaseConfig<T extends BaseConfig<T>> { class BaseConfig<T extends BaseConfig<T>> {
/** /**
* Ping timeout used in <code>Node.ping</code> and <code>Node.pingAll<code> operation * Ping timeout used in <code>Node.ping</code> and <code>Node.pingAll<code> operation.
* Value in milliseconds.
* *
*/ */
private int pingTimeout = 1000; private int pingTimeout = 1000;
/**
* Connect timeout used for any Redis server connection.
* Value in milliseconds.
*
*/
private int connectTimeout = 1000;
/** /**
* Redis operation execution timeout. * Redis operation execution timeout.
* Then amount is reached exception will be thrown in case of <b>sync</b> operation usage * Then amount is reached exception will be thrown in case of <b>sync</b> operation usage
@ -71,6 +79,7 @@ class BaseConfig<T extends BaseConfig<T>> {
setClientName(config.getClientName()); setClientName(config.getClientName());
setPingTimeout(config.getPingTimeout()); setPingTimeout(config.getPingTimeout());
setRefreshConnectionAfterFails(config.getRefreshConnectionAfterFails()); setRefreshConnectionAfterFails(config.getRefreshConnectionAfterFails());
setConnectTimeout(config.getConnectTimeout());
} }
/** /**
@ -204,5 +213,18 @@ class BaseConfig<T extends BaseConfig<T>> {
return closeConnectionAfterFailAttempts; 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;
}
} }

@ -16,7 +16,6 @@
package org.redisson; package org.redisson;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

@ -84,7 +84,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
if (connection != null) { if (connection != null) {
return connection; return connection;
} }
RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getTimeout()); RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getConnectTimeout());
try { try {
connection = client.connect(); connection = client.connect();
nodeConnections.put(addr, connection); nodeConnections.put(addr, connection);

@ -93,7 +93,7 @@ public class ElasticacheConnectionManager extends MasterSlaveConnectionManager {
if (connection != null) { if (connection != null) {
return connection; return connection;
} }
RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getTimeout()); RedisClient client = createClient(addr.getHost(), addr.getPort(), cfg.getConnectTimeout());
try { try {
connection = client.connect(); connection = client.connect();
nodeConnections.put(addr, connection); nodeConnections.put(addr, connection);

@ -155,7 +155,7 @@ public class MasterSlaveConnectionManager implements ConnectionManager {
@Override @Override
public RedisClient createClient(String host, int port) { 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)); clients.add(new RedisClientEntry(client));
return client; return client;
} }

@ -70,7 +70,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
List<String> disconnectedSlaves = new ArrayList<String>(); List<String> disconnectedSlaves = new ArrayList<String>();
for (URI addr : cfg.getSentinelAddresses()) { for (URI addr : cfg.getSentinelAddresses()) {
RedisClient client = createClient(addr.getHost(), addr.getPort(), c.getTimeout()); RedisClient client = createClient(addr.getHost(), addr.getPort(), c.getConnectTimeout());
try { try {
RedisConnection connection = client.connect(); RedisConnection connection = client.connect();
if (!connection.isActive()) { if (!connection.isActive()) {
@ -128,7 +128,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
} }
private void registerSentinel(final SentinelServersConfig cfg, final URI addr, final MasterSlaveServersConfig c) { 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); RedisClient oldClient = sentinels.putIfAbsent(addr.getHost() + ":" + addr.getPort(), client);
if (oldClient != null) { if (oldClient != null) {
return; return;

Loading…
Cancel
Save