关于 RedisMessagePullTask 的初始化实现当中
会默认开启重连检测
https://github.com/xiaolyuh/layering-cache/blob/master/layering-cache-core/src/main/java/com/github/xiaolyuh/listener/RedisMessagePullTask.java#L44C9-L44C25
// 4. 重连检测
reconnectionTask(initialDelay, delay);
但是在重连检测里面,我看似乎每一次都会每隔几秒就建立一个新的连接?
@Override
public void subscribe(RedisMessageListener messageListener, String... channels) {
try {
StatefulRedisPubSubConnection<String, String> connection = this.clusterClientPubSub.connectPubSub();
logger.info("layering-cache和redis创建订阅关系,订阅频道【{}】", Arrays.toString(channels));
connection.sync().subscribe(channels);
connection.addListener(messageListener);
} catch (SerializationException e) {
throw e;
} catch (Exception e) {
throw new RedisClientException(e.getMessage(), e);
}
}
在pub/sub 的订阅初始化,这里我看 connection会持有对应的messageListener的bean,看起来连接也不会释放?
是否有连接一直堆积越建立越多的情况呢
关于
RedisMessagePullTask的初始化实现当中会默认开启重连检测
https://github.com/xiaolyuh/layering-cache/blob/master/layering-cache-core/src/main/java/com/github/xiaolyuh/listener/RedisMessagePullTask.java#L44C9-L44C25
但是在重连检测里面,我看似乎每一次都会每隔几秒就建立一个新的连接?
在pub/sub 的订阅初始化,这里我看 connection会持有对应的messageListener的bean,看起来连接也不会释放?
是否有连接一直堆积越建立越多的情况呢