|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.ruoyi.framework.config;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
|
import com.ruoyi.framework.config.properties.RedissonProperties;
|
|
|
|
@ -58,23 +59,52 @@ public class RedisConfig extends CachingConfigurerSupport {
|
|
|
|
|
.setTransportMode(redissonProperties.getTransportMode());
|
|
|
|
|
|
|
|
|
|
RedissonProperties.SingleServerConfig singleServerConfig = redissonProperties.getSingleServerConfig();
|
|
|
|
|
// 使用单机模式
|
|
|
|
|
config.useSingleServer()
|
|
|
|
|
.setAddress(prefix + redisProperties.getHost() + ":" + redisProperties.getPort())
|
|
|
|
|
.setConnectTimeout(((Long) redisProperties.getTimeout().toMillis()).intValue())
|
|
|
|
|
.setDatabase(redisProperties.getDatabase())
|
|
|
|
|
.setPassword(StringUtils.isNotBlank(redisProperties.getPassword()) ? redisProperties.getPassword() : null)
|
|
|
|
|
.setTimeout(singleServerConfig.getTimeout())
|
|
|
|
|
.setRetryAttempts(singleServerConfig.getRetryAttempts())
|
|
|
|
|
.setRetryInterval(singleServerConfig.getRetryInterval())
|
|
|
|
|
.setSubscriptionsPerConnection(singleServerConfig.getSubscriptionsPerConnection())
|
|
|
|
|
.setClientName(singleServerConfig.getClientName())
|
|
|
|
|
.setIdleConnectionTimeout(singleServerConfig.getIdleConnectionTimeout())
|
|
|
|
|
.setSubscriptionConnectionMinimumIdleSize(singleServerConfig.getSubscriptionConnectionMinimumIdleSize())
|
|
|
|
|
.setSubscriptionConnectionPoolSize(singleServerConfig.getSubscriptionConnectionPoolSize())
|
|
|
|
|
.setConnectionMinimumIdleSize(singleServerConfig.getConnectionMinimumIdleSize())
|
|
|
|
|
.setConnectionPoolSize(singleServerConfig.getConnectionPoolSize())
|
|
|
|
|
.setDnsMonitoringInterval(singleServerConfig.getDnsMonitoringInterval());
|
|
|
|
|
if (ObjectUtil.isNotNull(singleServerConfig)) {
|
|
|
|
|
// 使用单机模式
|
|
|
|
|
config.useSingleServer()
|
|
|
|
|
.setAddress(prefix + redisProperties.getHost() + ":" + redisProperties.getPort())
|
|
|
|
|
.setConnectTimeout(((Long) redisProperties.getTimeout().toMillis()).intValue())
|
|
|
|
|
.setDatabase(redisProperties.getDatabase())
|
|
|
|
|
.setPassword(StringUtils.isNotBlank(redisProperties.getPassword()) ? redisProperties.getPassword() : null)
|
|
|
|
|
.setTimeout(singleServerConfig.getTimeout())
|
|
|
|
|
.setRetryAttempts(singleServerConfig.getRetryAttempts())
|
|
|
|
|
.setRetryInterval(singleServerConfig.getRetryInterval())
|
|
|
|
|
.setSubscriptionsPerConnection(singleServerConfig.getSubscriptionsPerConnection())
|
|
|
|
|
.setClientName(singleServerConfig.getClientName())
|
|
|
|
|
.setIdleConnectionTimeout(singleServerConfig.getIdleConnectionTimeout())
|
|
|
|
|
.setSubscriptionConnectionMinimumIdleSize(singleServerConfig.getSubscriptionConnectionMinimumIdleSize())
|
|
|
|
|
.setSubscriptionConnectionPoolSize(singleServerConfig.getSubscriptionConnectionPoolSize())
|
|
|
|
|
.setConnectionMinimumIdleSize(singleServerConfig.getConnectionMinimumIdleSize())
|
|
|
|
|
.setConnectionPoolSize(singleServerConfig.getConnectionPoolSize())
|
|
|
|
|
.setDnsMonitoringInterval(singleServerConfig.getDnsMonitoringInterval());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RedissonProperties.ClusterServersConfig clusterServersConfig = redissonProperties.getClusterServersConfig();
|
|
|
|
|
if (ObjectUtil.isNotNull(clusterServersConfig)) {
|
|
|
|
|
// 使用集群模式
|
|
|
|
|
config.useClusterServers()
|
|
|
|
|
.setConnectTimeout(((Long) redisProperties.getTimeout().toMillis()).intValue())
|
|
|
|
|
.setPassword(StringUtils.isNotBlank(redisProperties.getPassword()) ? redisProperties.getPassword() : null)
|
|
|
|
|
.setTimeout(clusterServersConfig.getTimeout())
|
|
|
|
|
.setRetryAttempts(clusterServersConfig.getRetryAttempts())
|
|
|
|
|
.setRetryInterval(clusterServersConfig.getRetryInterval())
|
|
|
|
|
.setSubscriptionsPerConnection(clusterServersConfig.getSubscriptionsPerConnection())
|
|
|
|
|
.setClientName(clusterServersConfig.getClientName())
|
|
|
|
|
.setIdleConnectionTimeout(clusterServersConfig.getIdleConnectionTimeout())
|
|
|
|
|
.setPingConnectionInterval(clusterServersConfig.getPingConnectionInterval())
|
|
|
|
|
.setSubscriptionConnectionMinimumIdleSize(clusterServersConfig.getSubscriptionConnectionMinimumIdleSize())
|
|
|
|
|
.setSubscriptionConnectionPoolSize(clusterServersConfig.getSubscriptionConnectionPoolSize())
|
|
|
|
|
.setMasterConnectionMinimumIdleSize(clusterServersConfig.getMasterConnectionMinimumIdleSize())
|
|
|
|
|
.setMasterConnectionPoolSize(clusterServersConfig.getMasterConnectionPoolSize())
|
|
|
|
|
.setSlaveConnectionMinimumIdleSize(clusterServersConfig.getSlaveConnectionMinimumIdleSize())
|
|
|
|
|
.setSlaveConnectionPoolSize(clusterServersConfig.getSlaveConnectionPoolSize())
|
|
|
|
|
.setDnsMonitoringInterval(clusterServersConfig.getDnsMonitoringInterval())
|
|
|
|
|
.setFailedSlaveReconnectionInterval(clusterServersConfig.getFailedSlaveReconnectionInterval())
|
|
|
|
|
.setScanInterval(clusterServersConfig.getScanInterval())
|
|
|
|
|
.setReadMode(clusterServersConfig.getReadMode())
|
|
|
|
|
.setSubscriptionMode(clusterServersConfig.getSubscriptionMode())
|
|
|
|
|
.setNodeAddresses(redisProperties.getCluster().getNodes());
|
|
|
|
|
}
|
|
|
|
|
RedissonClient redissonClient = Redisson.create(config);
|
|
|
|
|
log.info("初始化 redis 配置");
|
|
|
|
|
return redissonClient;
|
|
|
|
|