From cfa8872bc067308a3ccde0547b14f97f8eb69008 Mon Sep 17 00:00:00 2001 From: Nikita Date: Thu, 28 Jan 2016 14:56:19 +0300 Subject: [PATCH] Database setting removed from cluster configuration --- src/main/java/org/redisson/BaseConfig.java | 20 ------------ src/main/java/org/redisson/Config.java | 3 ++ .../redisson/ElasticacheServersConfig.java | 20 +++++++++++- .../redisson/MasterSlaveServersConfig.java | 20 ++++++++++++ .../org/redisson/SentinelServersConfig.java | 32 +++++++++++++++++++ .../java/org/redisson/SingleServerConfig.java | 19 +++++++++++ .../connection/ConnectionManager.java | 2 +- .../ElasticacheConnectionManager.java | 9 ++++++ .../connection/SentinelConnectionManager.java | 8 +++++ 9 files changed, 111 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/redisson/BaseConfig.java b/src/main/java/org/redisson/BaseConfig.java index 95bd7ce88..4256a7dbc 100644 --- a/src/main/java/org/redisson/BaseConfig.java +++ b/src/main/java/org/redisson/BaseConfig.java @@ -71,11 +71,6 @@ class BaseConfig> { */ private int failedAttempts = 3; - /** - * Database index used for Redis connection - */ - private int database = 0; - /** * Password for Redis authentication. Should be null if not needed */ @@ -99,7 +94,6 @@ class BaseConfig> { setSubscriptionsPerConnection(config.getSubscriptionsPerConnection()); setRetryAttempts(config.getRetryAttempts()); setRetryInterval(config.getRetryInterval()); - setDatabase(config.getDatabase()); setTimeout(config.getTimeout()); setClientName(config.getClientName()); setPingTimeout(config.getPingTimeout()); @@ -166,20 +160,6 @@ class BaseConfig> { return retryInterval; } - /** - * Database index used for Redis connection - * Default is 0 - * - * @param database - */ - public T setDatabase(int database) { - this.database = database; - return (T) this; - } - public int getDatabase() { - return database; - } - /** * Redis server response timeout. * diff --git a/src/main/java/org/redisson/Config.java b/src/main/java/org/redisson/Config.java index 7066e09a3..9ae68282e 100644 --- a/src/main/java/org/redisson/Config.java +++ b/src/main/java/org/redisson/Config.java @@ -118,6 +118,7 @@ public class Config { * * @return */ + @Deprecated public ClusterServersConfig useClusterServers(ClusterServersConfig config) { checkMasterSlaveServersConfig(); checkSentinelServersConfig(); @@ -152,6 +153,7 @@ public class Config { * * @return */ + @Deprecated public ElasticacheServersConfig useElasticacheServers(ElasticacheServersConfig config) { checkClusterServersConfig(); checkMasterSlaveServersConfig(); @@ -185,6 +187,7 @@ public class Config { * * @return */ + @Deprecated public SingleServerConfig useSingleServer(SingleServerConfig config) { checkClusterServersConfig(); checkMasterSlaveServersConfig(); diff --git a/src/main/java/org/redisson/ElasticacheServersConfig.java b/src/main/java/org/redisson/ElasticacheServersConfig.java index a96e055ab..c1abcb222 100644 --- a/src/main/java/org/redisson/ElasticacheServersConfig.java +++ b/src/main/java/org/redisson/ElasticacheServersConfig.java @@ -39,6 +39,11 @@ public class ElasticacheServersConfig extends BaseMasterSlaveServersConfig0 + * + * @param database + */ + public ElasticacheServersConfig setDatabase(int database) { + this.database = database; + return this; + } + public int getDatabase() { + return database; + } } diff --git a/src/main/java/org/redisson/MasterSlaveServersConfig.java b/src/main/java/org/redisson/MasterSlaveServersConfig.java index b1a68a522..d7a203211 100644 --- a/src/main/java/org/redisson/MasterSlaveServersConfig.java +++ b/src/main/java/org/redisson/MasterSlaveServersConfig.java @@ -35,6 +35,11 @@ public class MasterSlaveServersConfig extends BaseMasterSlaveServersConfig masterAddress; + /** + * Database index used for Redis connection + */ + private int database = 0; + public MasterSlaveServersConfig() { } @@ -43,6 +48,7 @@ public class MasterSlaveServersConfig extends BaseMasterSlaveServersConfig0 + * + * @param database + */ + public MasterSlaveServersConfig setDatabase(int database) { + this.database = database; + return this; + } + public int getDatabase() { + return database; + } + } diff --git a/src/main/java/org/redisson/SentinelServersConfig.java b/src/main/java/org/redisson/SentinelServersConfig.java index b2887e1f0..6d92e12f7 100644 --- a/src/main/java/org/redisson/SentinelServersConfig.java +++ b/src/main/java/org/redisson/SentinelServersConfig.java @@ -27,6 +27,11 @@ public class SentinelServersConfig extends BaseMasterSlaveServersConfig0 + * + * @param database + */ + public SentinelServersConfig setDatabase(int database) { + this.database = database; + return this; + } + public int getDatabase() { + return database; + } + } diff --git a/src/main/java/org/redisson/SingleServerConfig.java b/src/main/java/org/redisson/SingleServerConfig.java index 6bd600613..d586cf404 100644 --- a/src/main/java/org/redisson/SingleServerConfig.java +++ b/src/main/java/org/redisson/SingleServerConfig.java @@ -50,6 +50,10 @@ public class SingleServerConfig extends BaseConfig { */ private int connectionPoolSize = 100; + /** + * Database index used for Redis connection + */ + private int database = 0; /** * Should the server address be monitored for changes in DNS? Useful for @@ -77,6 +81,7 @@ public class SingleServerConfig extends BaseConfig { setDnsMonitoringInterval(config.getDnsMonitoringInterval()); setSubscriptionConnectionMinimumIdleSize(config.getSubscriptionConnectionMinimumIdleSize()); setConnectionMinimumIdleSize(config.getConnectionMinimumIdleSize()); + setDatabase(config.getDatabase()); } /** @@ -191,4 +196,18 @@ public class SingleServerConfig extends BaseConfig { return connectionMinimumIdleSize; } + /** + * Database index used for Redis connection + * Default is 0 + * + * @param database + */ + public SingleServerConfig setDatabase(int database) { + this.database = database; + return this; + } + public int getDatabase() { + return database; + } + } diff --git a/src/main/java/org/redisson/connection/ConnectionManager.java b/src/main/java/org/redisson/connection/ConnectionManager.java index 15e5b5227..95156f871 100644 --- a/src/main/java/org/redisson/connection/ConnectionManager.java +++ b/src/main/java/org/redisson/connection/ConnectionManager.java @@ -51,7 +51,7 @@ public interface ConnectionManager { boolean isShuttingDown(); - Promise subscribe(Codec codec, String channelName, RedisPubSubListener listener); + Promise subscribe(Codec codec, String channelName, RedisPubSubListener listener); ConnectionInitializer getConnectListener(); diff --git a/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java b/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java index 46576107e..33b6bba65 100644 --- a/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java +++ b/src/main/java/org/redisson/connection/ElasticacheConnectionManager.java @@ -21,8 +21,10 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import org.redisson.BaseMasterSlaveServersConfig; import org.redisson.Config; import org.redisson.ElasticacheServersConfig; +import org.redisson.MasterSlaveServersConfig; import org.redisson.client.RedisClient; import org.redisson.client.RedisConnection; import org.redisson.client.RedisConnectionException; @@ -93,6 +95,13 @@ public class ElasticacheConnectionManager extends MasterSlaveConnectionManager { monitorRoleChange(cfg); } + @Override + protected MasterSlaveServersConfig create(BaseMasterSlaveServersConfig cfg) { + MasterSlaveServersConfig res = super.create(cfg); + res.setDatabase(((ElasticacheServersConfig)cfg).getDatabase()); + return res; + } + private RedisConnection connect(ElasticacheServersConfig cfg, URI addr) { RedisConnection connection = nodeConnections.get(addr); if (connection != null) { diff --git a/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/src/main/java/org/redisson/connection/SentinelConnectionManager.java index ab1dcd76e..4d18405f9 100755 --- a/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -23,6 +23,7 @@ import java.util.Map; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicReference; +import org.redisson.BaseMasterSlaveServersConfig; import org.redisson.Config; import org.redisson.MasterSlaveServersConfig; import org.redisson.ReadMode; @@ -331,6 +332,13 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { } } + @Override + protected MasterSlaveServersConfig create(BaseMasterSlaveServersConfig cfg) { + MasterSlaveServersConfig res = super.create(cfg); + res.setDatabase(((SentinelServersConfig)cfg).getDatabase()); + return res; + } + @Override public void shutdown() { super.shutdown();