Adding support to supply custom connection manager

pull/809/head
Saikiran Daripelli 8 years ago
parent 1537bba3cb
commit 990a8d07f6

@ -26,6 +26,7 @@ import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider;
import org.redisson.codec.DefaultCodecProvider;
import org.redisson.codec.JsonJacksonCodec;
import org.redisson.connection.ConnectionManager;
import org.redisson.liveobject.provider.DefaultResolverProvider;
import org.redisson.liveobject.provider.ResolverProvider;
@ -51,6 +52,8 @@ public class Config {
private ReplicatedServersConfig replicatedServersConfig;
private ConnectionManager connectionManager;
/**
* Threads amount shared between all redis node clients
*/
@ -122,6 +125,9 @@ public class Config {
if (oldConf.getReplicatedServersConfig() != null) {
setReplicatedServersConfig(new ReplicatedServersConfig(oldConf.getReplicatedServersConfig()));
}
if (oldConf.getConnectionManager() != null) {
useCustomServers(oldConf.getConnectionManager());
}
}
@ -297,6 +303,15 @@ public class Config {
this.replicatedServersConfig = replicatedServersConfig;
}
ConnectionManager getConnectionManager() {
return connectionManager;
}
public void useCustomServers(ConnectionManager connectionManager) {
this.connectionManager = connectionManager;
}
/**
* Init single server configuration.
*
@ -448,6 +463,7 @@ public class Config {
}
}
/**
* Activates an unix socket if servers binded to loopback interface.
* Also used for epoll transport activation.

@ -265,6 +265,8 @@ public class ConfigSupport {
} else if (configCopy.getReplicatedServersConfig() != null) {
validate(configCopy.getReplicatedServersConfig());
return new ReplicatedConnectionManager(configCopy.getReplicatedServersConfig(), configCopy);
} else if (configCopy.getConnectionManager() != null) {
return configCopy.getConnectionManager();
}else {
throw new IllegalArgumentException("server(s) address(es) not defined!");
}

Loading…
Cancel
Save