Redis PubSub与Jedis的重新连接

问题描述 投票:0回答:1

试图包含与 azure redis autoreconnect 相关的代码,如果 Redis PubSub 连接中发生任何网络错误。任何帮助建议将是感激的。下面是我的Redis Config代码。

 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;
    }
    }
java spring-boot redis jedis azure-redis-cache
1个回答
0
投票

请看以下客户端库的具体指导(联系)的Azure Cache for Redis和可用的信息。Jedis (Java).

有一个 PoolUsage.java 榜样和 ClusterUsage.java 的例子。

至于PubSub Reconnect的具体例子,请看下面的Stack Overflow帖子。jedis pubsub和超时:如何作为订阅者无限监听?

private AkkaStarter2(){
//0 specifying no timeout.. Overlooked this 100 times
sub = new Jedis(REDISHOST, REDISPORT,0);
akkaListener = new AkkaListener();
}
© www.soinside.com 2019 - 2024. All rights reserved.