💡 RedisSystemException
발생이유
RedisConfig 내의 Cluster Connect Timeout 시간의 잘못된 설정으로 인한 에러
해결
ResdisProperties내에 세션 타임아웃필드 지정
connectTimeout()내부 로직에 시간값을 가져오는곳에 올바른 시간값 기입 수정
@Component
@Getter @Setter
@ConfigurationProperties("spring.redis")
public class RedisProperties {
private String host;
private int port;
@Getter
@Value("${jwt.refresh-token-expiration-minutes}")
private int refreshTokenExpirationMinutes;
private long sessionTime = 1000000000; // 추가
}
@Bean
public RedisConnectionFactory factory() {
RedisClusterConfiguration configuration = new RedisClusterConfiguration();
configuration.clusterNode(redisHost, redisPort);
LettuceClientConfiguration clientConfiguration = LettuceClientConfiguration.builder()
.clientOptions(ClientOptions.builder()
.socketOptions(SocketOptions.builder()
.connectTimeout(Duration.ofMillis(redisProperties.getSessionTime())).build())
.build())
.commandTimeout(Duration.ofSeconds(redisProperties.getSessionTime())).build();
return new LettuceConnectionFactory(configuration, clientConfiguration);
}
'Error Handling > Java & Spring' 카테고리의 다른 글
💡 OSIV 옵션 & 프록시 객체 초기화 (2) | 2023.01.14 |
---|---|
❌ RedisConnectionFailurException (0) | 2023.01.10 |
❌ Circular Dependency (0) | 2023.01.03 |
❌ DataIntegrityViolation Exception (0) | 2023.01.01 |
❌ UnexpectedTypeException (0) | 2022.12.09 |