mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-06-13 11:14:38 +08:00
enhancement #IA6E3Q redis配置的时候可以指定Redisson的链接数,默认的connections太多了
This commit is contained in:
@@ -15,6 +15,7 @@ import com.yomahub.liteflow.parser.redis.vo.RedisParserVO;
|
||||
import com.yomahub.liteflow.util.RuleParsePluginUtil;
|
||||
import org.redisson.config.Config;
|
||||
import org.redisson.config.SentinelServersConfig;
|
||||
import org.redisson.config.SingleServerConfig;
|
||||
|
||||
/**
|
||||
* Redis 解析器通用接口
|
||||
@@ -56,23 +57,19 @@ public interface RedisParserHelper {
|
||||
default Config getSingleRedissonConfig(RedisParserVO redisParserVO, Integer dataBase) {
|
||||
Config config = new Config();
|
||||
String redisAddress = StrFormatter.format(SINGLE_REDIS_URL_PATTERN, redisParserVO.getHost(), redisParserVO.getPort());
|
||||
|
||||
SingleServerConfig singleServerConfig = config.useSingleServer().setAddress(redisAddress)
|
||||
.setConnectionPoolSize(redisParserVO.getConnectionPoolSize())
|
||||
.setConnectionMinimumIdleSize(redisParserVO.getConnectionMinimumIdleSize())
|
||||
.setDatabase(dataBase);
|
||||
|
||||
//如果配置了用户名和密码
|
||||
if (StrUtil.isNotBlank(redisParserVO.getUsername()) && StrUtil.isNotBlank(redisParserVO.getPassword())) {
|
||||
config.useSingleServer().setAddress(redisAddress)
|
||||
.setUsername(redisParserVO.getUsername())
|
||||
.setPassword(redisParserVO.getPassword())
|
||||
.setDatabase(dataBase);
|
||||
singleServerConfig.setUsername(redisParserVO.getUsername()).setPassword(redisParserVO.getPassword());
|
||||
}
|
||||
//如果配置了密码
|
||||
else if (StrUtil.isNotBlank(redisParserVO.getPassword())) {
|
||||
config.useSingleServer().setAddress(redisAddress)
|
||||
.setPassword(redisParserVO.getPassword())
|
||||
.setDatabase(dataBase);
|
||||
}
|
||||
//没有配置密码
|
||||
else {
|
||||
config.useSingleServer().setAddress(redisAddress)
|
||||
.setDatabase(dataBase);
|
||||
singleServerConfig.setPassword(redisParserVO.getPassword());
|
||||
}
|
||||
return config;
|
||||
}
|
||||
@@ -86,7 +83,11 @@ public interface RedisParserHelper {
|
||||
default Config getSentinelRedissonConfig(RedisParserVO redisParserVO, Integer dataBase) {
|
||||
Config config = new Config();
|
||||
SentinelServersConfig sentinelConfig = config.useSentinelServers()
|
||||
.setMasterName(redisParserVO.getMasterName());
|
||||
.setMasterName(redisParserVO.getMasterName())
|
||||
.setMasterConnectionPoolSize(redisParserVO.getConnectionPoolSize())
|
||||
.setSlaveConnectionPoolSize(redisParserVO.getConnectionPoolSize())
|
||||
.setMasterConnectionMinimumIdleSize(redisParserVO.getConnectionMinimumIdleSize())
|
||||
.setSlaveConnectionMinimumIdleSize(redisParserVO.getConnectionMinimumIdleSize());
|
||||
redisParserVO.getSentinelAddress().forEach(address -> {
|
||||
sentinelConfig.addSentinelAddress(StrFormatter.format(SENTINEL_REDIS_URL_PATTERN, address));
|
||||
});
|
||||
|
||||
@@ -35,6 +35,10 @@ public class RedisParserVO {
|
||||
/*密码*/
|
||||
private String password;
|
||||
|
||||
private int connectionMinimumIdleSize = 2;
|
||||
|
||||
private int connectionPoolSize = 4;
|
||||
|
||||
/*监听机制 轮询为poll 订阅为subscribe 默认为poll*/
|
||||
private RedisParserMode mode = RedisParserMode.POLL;
|
||||
|
||||
@@ -182,6 +186,22 @@ public class RedisParserVO {
|
||||
this.scriptKey = scriptKey;
|
||||
}
|
||||
|
||||
public int getConnectionPoolSize() {
|
||||
return connectionPoolSize;
|
||||
}
|
||||
|
||||
public void setConnectionPoolSize(int connectionPoolSize) {
|
||||
this.connectionPoolSize = connectionPoolSize;
|
||||
}
|
||||
|
||||
public int getConnectionMinimumIdleSize() {
|
||||
return connectionMinimumIdleSize;
|
||||
}
|
||||
|
||||
public void setConnectionMinimumIdleSize(int connectionMinimumIdleSize) {
|
||||
this.connectionMinimumIdleSize = connectionMinimumIdleSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "RedisParserVO{" +
|
||||
|
||||
Reference in New Issue
Block a user