Commit 149e6316 authored by tangwei's avatar tangwei

添加密码验证

parent 13d1f3bc
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,9 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,10 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,9 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,9 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,9 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,9 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -37,6 +38,9 @@ public class RedisClusterConfig {
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
package com.yeejoin.amos.jpush.config;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisClusterConfiguration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import java.time.Duration;
@Configuration
public class RedisClusterConfig {
@Autowired
private RedisConfigProperties redisConfigProperties;
@Bean
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "cluster")
public RedisConnectionFactory redisConnectionFactory() {
// 开启自适应集群拓扑刷新和周期拓扑刷新,不开启相应槽位主节点挂掉会出现服务不可用,直到挂掉节点重新恢复
ClusterTopologyRefreshOptions clusterTopologyRefreshOptions = ClusterTopologyRefreshOptions.builder()
.enableAllAdaptiveRefreshTriggers() // 开启自适应刷新,自适应刷新不开启,Redis集群变更时将会导致连接异常
.adaptiveRefreshTriggersTimeout(Duration.ofSeconds(30)) //自适应刷新超时时间(默认30秒),默认关闭开启后时间为30秒
.enablePeriodicRefresh(Duration.ofSeconds(20)) // 默认关闭开启后时间为60秒 ClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD 60 .enablePeriodicRefresh(Duration.ofSeconds(2)) = .enablePeriodicRefresh().refreshPeriod(Duration.ofSeconds(2))
.build();
ClientOptions clientOptions = ClusterClientOptions.builder()
.topologyRefreshOptions(clusterTopologyRefreshOptions)
.build();
// 客户端读写分离配置
LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
.clientOptions(clientOptions)
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
package com.yeejoin.amos.jpush.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @description:
* @author: tw
* @createDate: 2022/9/7
*/
@Component
@ConfigurationProperties(prefix = "spring.redis")
public class RedisConfigProperties {
private String password;
private cluster cluster;
private String redissonUrl;
private String mode;
public static class cluster {
private List<String> nodes;
public List<String> getNodes() {
return nodes;
}
public void setNodes(List<String> nodes) {
this.nodes = nodes;
}
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public RedisConfigProperties.cluster getCluster() {
return cluster;
}
public void setCluster(RedisConfigProperties.cluster cluster) {
this.cluster = cluster;
}
public String getRedissonUrl() {
return redissonUrl;
}
public void setRedissonUrl(String redissonUrl) {
this.redissonUrl = redissonUrl;
}
public String getMode() {
return mode;
}
public void setMode(String mode) {
this.mode = mode;
}
}
......@@ -3,6 +3,7 @@ import com.yeejoin.amos.boot.biz.config.RedisConfigProperties;
import io.lettuce.core.ClientOptions;
import io.lettuce.core.cluster.ClusterClientOptions;
import io.lettuce.core.cluster.ClusterTopologyRefreshOptions;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -35,8 +36,12 @@ public class RedisClusterConfig {
LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
.clientOptions(clientOptions)
.build();
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration(
redisConfigProperties.getCluster().getNodes());
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
redisClusterConfiguration.setPassword(redisConfigProperties.getPassword());
}
return new LettuceConnectionFactory(redisClusterConfiguration, clientConfig);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment