Make Sure to use jedisConFactory.setUseSsl(true); for aws redis connection. By Default ssl is off for redis connection.
@Bean
JedisConnectionFactory jedisConnectionFactory() {
final JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(300);
jedisPoolConfig.setMaxIdle(20);
jedisPoolConfig.setMaxWaitMillis(2000);
jedisPoolConfig.setBlockWhenExhausted(true);
JedisConnectionFactory jedisConFactory = new JedisConnectionFactory(jedisPoolConfig);
jedisConFactory.setHostName(redisHost);
jedisConFactory.setPort(redisPort);
jedisConFactory.setPassword(redisPassword);
jedisConFactory.setUsePool(true);
jedisConFactory.setTimeout(redisTimeout);
jedisConFactory.setUseSsl(redisSsl);
return jedisConFactory;
}
@Bean(name = "redisTemplate")
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(jedisConnectionFactory());
//template.setEnableTransactionSupport(true);
template.setExposeConnection(true);
template.afterPropertiesSet();
return template;
}