diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/api/config/ConfigLoader.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/api/config/ConfigLoader.java index 6b47170..acfe6e7 100644 --- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/api/config/ConfigLoader.java +++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/api/config/ConfigLoader.java @@ -78,6 +78,7 @@ public interface ConfigLoader { Set hostAndPortSet = new HashSet<>(); GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig<>(); poolConfig.setMaxTotal(maxConnections); + poolConfig.setBlockWhenExhausted(true); node.getNode("redis-cluster-servers").getChildrenList().forEach((childNode) -> { Map hostAndPort = childNode.getChildrenMap(); String host = hostAndPort.get("host").getString(); @@ -105,11 +106,13 @@ public interface ConfigLoader { JedisPool jedisPool = null; if (node.getNode("enable-jedis-pool-compatibility").getBoolean(true)) { JedisPoolConfig config = new JedisPoolConfig(); - config.setMaxTotal(maxConnections); + config.setMaxTotal(node.getNode("compatibility-max-connections").getInt(3)); + config.setBlockWhenExhausted(true); jedisPool = new JedisPool(config, redisServer, redisPort, 0, redisPassword, useSSL); } GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig<>(); poolConfig.setMaxTotal(maxConnections); + poolConfig.setBlockWhenExhausted(true); summoner = new JedisPooledSummoner(new JedisPooled(poolConfig, redisServer, redisPort, 0, redisPassword, useSSL), jedisPool); redisBungeeMode = RedisBungeeMode.SINGLE; } diff --git a/RedisBungee-API/src/main/resources/config.yml b/RedisBungee-API/src/main/resources/config.yml index 28fa02e..4e1855a 100644 --- a/RedisBungee-API/src/main/resources/config.yml +++ b/RedisBungee-API/src/main/resources/config.yml @@ -46,6 +46,8 @@ proxy-id: "test-1" # enabled by default # ignored when cluster mode is enabled enable-jedis-pool-compatibility: true +# max connections for the compatibility pool +compatibility-max-connections: 3 # Register redis bungee legacy commands # if this disabled override-bungee-commands will be ignored