Jedis onPMessage не подписывается на сообщения через некоторое время - PullRequest
0 голосов
/ 23 апреля 2019

Я использовал JedisPubSub для реализации подписчика jedis для получения ключей истечения срока действия и их сообщений. Через некоторое время onPMessage (шаблон, канал, сообщение) прекращает подписку на сообщения, но вызывается onPSubscribe (шаблон, канал). Я использую выделенное соединение jedispool для подписчика и издателя. Может кто-нибудь помочь мне узнать, почему он прекратил подписку на сообщения?

Слушатель уведомлений:

открытый класс KeyExpiredListener расширяет JedisPubSub {

@Override
public void onPSubscribe(String pattern, int subscribedChannels) {
    LOGGER.info("onPSubscribe " + pattern + " " + subscribedChannels + "\n");
}

@Override
public void onPMessage(String pattern, String channel, String message) {
    LOGGER.info("onPMessage pattern " + pattern + " " + channel + " " + message);
}

}

Абонент:

подписчик открытого класса {

public static void main(String[] args) {
    JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

    Jedis jedis = pool.getResource();
    jedis.psubscribe(new KeyExpiredListener(), "__key*__:*");

}

}

Ожидается: Каждый раз, когда onPMessage () должен срабатывать при получении сообщения.

Фактический: Прекращает запуск после определенного количества сообщений.

...