diff --git a/src/main/java/org/redisson/BaseConfig.java b/src/main/java/org/redisson/BaseConfig.java index e9fd3a764..3e2d52635 100644 --- a/src/main/java/org/redisson/BaseConfig.java +++ b/src/main/java/org/redisson/BaseConfig.java @@ -44,6 +44,11 @@ class BaseConfig> { */ private int subscriptionsPerConnection = 5; + /** + * Name of client connection + */ + private String clientName; + BaseConfig() { } @@ -145,4 +150,15 @@ class BaseConfig> { return timeout; } + /** + * Name for client connection + */ + public String getClientName() { + return clientName; + } + + public T setClientName(String clientName) { + this.clientName = clientName; + return (T) this; + } } diff --git a/src/main/java/org/redisson/connection/BaseLoadBalancer.java b/src/main/java/org/redisson/connection/BaseLoadBalancer.java index b42ce831d..6915e2d4e 100644 --- a/src/main/java/org/redisson/connection/BaseLoadBalancer.java +++ b/src/main/java/org/redisson/connection/BaseLoadBalancer.java @@ -144,6 +144,9 @@ abstract class BaseLoadBalancer implements LoadBalancer { if (config.getDatabase() != 0) { conn.select(config.getDatabase()); } + if (config.getClientName() != null) { + conn.clientSetname(config.getClientName()); + } entry.registerSubscribeConnection(conn); return conn; @@ -184,6 +187,9 @@ abstract class BaseLoadBalancer implements LoadBalancer { if (config.getDatabase() != 0) { conn.select(config.getDatabase()); } + if (config.getClientName() != null) { + conn.clientSetname(config.getClientName()); + } return conn; } catch (RedisConnectionException e) { diff --git a/src/main/java/org/redisson/connection/ClusterConnectionManager.java b/src/main/java/org/redisson/connection/ClusterConnectionManager.java index 84e0849d7..0dc43bc83 100644 --- a/src/main/java/org/redisson/connection/ClusterConnectionManager.java +++ b/src/main/java/org/redisson/connection/ClusterConnectionManager.java @@ -221,6 +221,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { c.setLoadBalancer(cfg.getLoadBalancer()); c.setPassword(cfg.getPassword()); c.setDatabase(cfg.getDatabase()); + c.setClientName(cfg.getClientName()); c.setMasterConnectionPoolSize(cfg.getMasterConnectionPoolSize()); c.setSlaveConnectionPoolSize(cfg.getSlaveConnectionPoolSize()); c.setSlaveSubscriptionConnectionPoolSize(cfg.getSlaveSubscriptionConnectionPoolSize()); diff --git a/src/main/java/org/redisson/connection/MasterSlaveEntry.java b/src/main/java/org/redisson/connection/MasterSlaveEntry.java index b634cf18e..6bd531999 100644 --- a/src/main/java/org/redisson/connection/MasterSlaveEntry.java +++ b/src/main/java/org/redisson/connection/MasterSlaveEntry.java @@ -131,6 +131,9 @@ public class MasterSlaveEntry { if (config.getDatabase() != 0) { conn.select(config.getDatabase()); } + if (config.getClientName() != null) { + conn.clientSetname((K) config.getClientName()); + } return conn; } catch (RedisConnectionException e) { masterEntry.getConnectionsSemaphore().release(); diff --git a/src/main/java/org/redisson/connection/SingleConnectionManager.java b/src/main/java/org/redisson/connection/SingleConnectionManager.java index 3aebc9d4c..d57c9a840 100644 --- a/src/main/java/org/redisson/connection/SingleConnectionManager.java +++ b/src/main/java/org/redisson/connection/SingleConnectionManager.java @@ -29,6 +29,7 @@ public class SingleConnectionManager extends MasterSlaveConnectionManager { newconfig.setTimeout(cfg.getTimeout()); newconfig.setPassword(cfg.getPassword()); newconfig.setDatabase(cfg.getDatabase()); + newconfig.setClientName(cfg.getClientName()); newconfig.setMasterAddress(addr); newconfig.setMasterConnectionPoolSize(cfg.getConnectionPoolSize()); newconfig.setSubscriptionsPerConnection(cfg.getSubscriptionsPerConnection()); diff --git a/src/main/java/org/redisson/connection/SingleEntry.java b/src/main/java/org/redisson/connection/SingleEntry.java index fd7ca90f0..f876e34c1 100644 --- a/src/main/java/org/redisson/connection/SingleEntry.java +++ b/src/main/java/org/redisson/connection/SingleEntry.java @@ -66,6 +66,9 @@ public class SingleEntry extends MasterSlaveEntry { if (config.getDatabase() != 0) { conn.select(config.getDatabase()); } + if (config.getClientName() != null) { + conn.clientSetname(config.getClientName()); + } return conn; } catch (RedisConnectionException e) { ((SubscribesConnectionEntry)masterEntry).getSubscribeConnectionsSemaphore().release();