如果redis pubsub连接中发生任何网络错误,尝试包含与azure redis autoreconnect相关的代码。任何帮助/建议都是值得赞赏的。下面是我的redis配置代码。
public class RedisConfig
{
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory jedis = new JedisConnectionFactory();
jedis.setHostName("redishostname");
jedis.setPassword("redispassword");
jedis.setPort(redisport);
return jedis;
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
final RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(jedisConnectionFactory());
template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
return template;
}
@Bean
RedisMessageListenerContainer redisContainer() {
final RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(jedisConnectionFactory());
container.setTaskExecutor(Executors.newFixedThreadPool(4));
return container;
}
}
1条答案
按热度按时间vxf3dgd41#
请参阅以下针对azure cache for redis的特定于客户端库的指南(链接)和可用于jedis(java)的信息。
有一个poolusage.java示例和一个clusterusage.java示例。
至于pubsub重新连接的一个具体示例,请参见下面的堆栈溢出帖子:jedis pubsub和timeouts:如何作为订户无限监听?