如何在Spring Boot Redis会话实现中捕获Redis连接故障?
我已经在Spring Boot java应用程序上使用LettuceConnectionFactory实现了Redis会话管理。我想不出一种方法来捕获Redis连接失败。是否有方法捕获连接故障 弹簧启动版本:2.2.6 代码:如何在Spring Boot Redis会话实现中捕获Redis连接故障?,spring,spring-boot,session,redis,connection,Spring,Spring Boot,Session,Redis,Connection,我已经在Spring Boot java应用程序上使用LettuceConnectionFactory实现了Redis会话管理。我想不出一种方法来捕获Redis连接失败。是否有方法捕获连接故障 弹簧启动版本:2.2.6 代码: @Configuration @PropertySource("classpath:application.properties") @EnableRedisHttpSession public class HttpSessionConfig extends Abstra
@Configuration
@PropertySource("classpath:application.properties")
@EnableRedisHttpSession
public class HttpSessionConfig extends AbstractHttpSessionApplicationInitializer {
Logger logger = LoggerFactory.getLogger(HttpSessionConfig.class);
@Value("${spring.redis.host}")
private String redisHostName;
@Value("${spring.redis.port}")
private int redisPort;
@Value("${spring.redis.password}")
private String redisPassword;
private @Value("${spring.redis.custom.command.timeout}")
Duration redisCommandTimeout;
private @Value("${spring.redis.timeout}")
Duration socketTimeout;
@Bean
LettuceConnectionFactory lettuceConnectionFactory() {
final SocketOptions socketOptions = SocketOptions.builder().connectTimeout(socketTimeout).build();
final ClientOptions clientOptions = ClientOptions.builder()
.socketOptions(socketOptions)
.build();
LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
.commandTimeout(redisCommandTimeout)
.clientOptions(clientOptions)
.readFrom(ReadFrom.SLAVE_PREFERRED)
.build();
RedisStandaloneConfiguration serverConfig = new RedisStandaloneConfiguration(redisHostName,
redisPort);
final LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(serverConfig,
clientConfig);
return lettuceConnectionFactory;
}
@Bean
public RedisTemplate<Object, Object> sessionRedisTemplate() {
final RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(lettuceConnectionFactory());
return template;
}
@Bean
public ConfigureRedisAction configureRedisAction() {
return ConfigureRedisAction.NO_OP;
}
}
@配置
@PropertySource(“类路径:application.properties”)
@启用RedistpSession
公共类HttpSessionConfig扩展了AbstractHttpSessionApplicationInitializer{
Logger Logger=LoggerFactory.getLogger(HttpSessionConfig.class);
@值(${spring.redis.host}”)
私有字符串主机名;
@值(${spring.redis.port}”)
私人int再报告;
@值(${spring.redis.password}”)
私有字符串密码;
private@Value(${spring.redis.custom.command.timeout})
超时持续时间;
private@Value(${spring.redis.timeout})
持续时间;
@豆子
LettuceConnectionFactory LettuceConnectionFactory(){
final-SocketOptions-SocketOptions=SocketOptions.builder().connectTimeout(socketTimeout.build();
最终ClientOptions ClientOptions=ClientOptions.builder()
.插座选项(插座选项)
.build();
LettuceClientConfiguration clientConfig=LettuceClientConfiguration.builder()
.commandTimeout(redisCommandTimeout)
.clientOptions(clientOptions)
.readFrom(首选readFrom.SLAVE_)
.build();
RedisStandaloneConfiguration serverConfig=新的RedisStandaloneConfiguration(redisHostName,
再报告);
最终LettuceConnectionFactory LettuceConnectionFactory=新的LettuceConnectionFactory(服务器配置,
客户端配置);
退耕还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林还林;
}
@豆子
公共RedisTemplate sessionRedisTemplate(){
最终RedisTemplate=新RedisTemplate();
setConnectionFactory(lettuceConnectionFactory());
返回模板;
}
@豆子
公共配置RedisAction ConfigureRedisAction(){
返回ConfigureRedisAction.NO\u OP;
}
}