diff --git a/src/main/java/io/jboot/component/redis/JbootRedisConfig.java b/src/main/java/io/jboot/component/redis/JbootRedisConfig.java index 98bec709be2dc0ab9697f211ca8f727903f187aa..e4f13e66eac51ffd7c67062a7aae0fd4bf7156b6 100644 --- a/src/main/java/io/jboot/component/redis/JbootRedisConfig.java +++ b/src/main/java/io/jboot/component/redis/JbootRedisConfig.java @@ -44,6 +44,10 @@ public class JbootRedisConfig { private Integer numTestsPerEvictionRun; private Integer maxAttempts; private String type = TYPE_JEDIS; + private Integer maxTotal; + private Integer maxIdle; + private Integer minIdle; + private Integer maxWaitMillis; public String getHost() { @@ -178,6 +182,38 @@ public class JbootRedisConfig { this.type = type; } + public Integer getMaxTotal() { + return maxTotal; + } + + public void setMaxTotal(Integer maxTotal) { + this.maxTotal = maxTotal; + } + + public Integer getMaxIdle() { + return maxIdle; + } + + public void setMaxIdle(Integer maxIdle) { + this.maxIdle = maxIdle; + } + + public Integer getMinIdle() { + return minIdle; + } + + public void setMinIdle(Integer minIdle) { + this.minIdle = minIdle; + } + + public Integer getMaxWaitMillis() { + return maxWaitMillis; + } + + public void setMaxWaitMillis(Integer maxWaitMillis) { + this.maxWaitMillis = maxWaitMillis; + } + public Set getHostAndPorts() { Set haps = new HashSet<>(); String[] hostAndPortStrings = host.split(","); diff --git a/src/main/java/io/jboot/component/redis/jedis/JbootJedisClusterImpl.java b/src/main/java/io/jboot/component/redis/jedis/JbootJedisClusterImpl.java index 31896579354cc8f31f5f91376701ffb333183c18..d84a457f4e162ec17a1ed8a56382fdb4f50b0c1c 100644 --- a/src/main/java/io/jboot/component/redis/jedis/JbootJedisClusterImpl.java +++ b/src/main/java/io/jboot/component/redis/jedis/JbootJedisClusterImpl.java @@ -80,6 +80,21 @@ public class JbootJedisClusterImpl extends JbootRedisBase { poolConfig.setNumTestsPerEvictionRun(config.getNumTestsPerEvictionRun()); } + if (StringUtils.isNotBlank(config.getMaxTotal())) { + poolConfig.setMaxTotal(config.getMaxTotal()); + } + + if (StringUtils.isNotBlank(config.getMaxIdle())) { + poolConfig.setMaxIdle(config.getMaxIdle()); + } + + if (StringUtils.isNotBlank(config.getMinIdle())) { + poolConfig.setMinIdle(config.getMinIdle()); + } + + if (StringUtils.isNotBlank(config.getMaxWaitMillis())) { + poolConfig.setMaxWaitMillis(config.getMaxWaitMillis()); + } this.jedisCluster = newJedisCluster(config.getHostAndPorts(), timeout, maxAttempts, password, poolConfig); } diff --git a/src/main/java/io/jboot/component/redis/jedis/JbootJedisImpl.java b/src/main/java/io/jboot/component/redis/jedis/JbootJedisImpl.java index e93295dee673db5fde605cf0e1ce81b2b9264549..6fff78e96c5a19ced2c25c718cdbebc55f6b3602 100644 --- a/src/main/java/io/jboot/component/redis/jedis/JbootJedisImpl.java +++ b/src/main/java/io/jboot/component/redis/jedis/JbootJedisImpl.java @@ -82,6 +82,22 @@ public class JbootJedisImpl extends JbootRedisBase { poolConfig.setNumTestsPerEvictionRun(config.getNumTestsPerEvictionRun()); } + if (StringUtils.isNotBlank(config.getMaxTotal())) { + poolConfig.setMaxTotal(config.getMaxTotal()); + } + + if (StringUtils.isNotBlank(config.getMaxIdle())) { + poolConfig.setMaxIdle(config.getMaxIdle()); + } + + if (StringUtils.isNotBlank(config.getMinIdle())) { + poolConfig.setMinIdle(config.getMinIdle()); + } + + if (StringUtils.isNotBlank(config.getMaxWaitMillis())) { + poolConfig.setMaxWaitMillis(config.getMaxWaitMillis()); + } + this.jedisPool = newJedisPool(poolConfig, host, port, timeout, password, database, clientName); }