spring数据redis消息redismessagelistenercontainer断开连接

7rfyedvj  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(300)

我使用redis消息发布/订阅来监听密钥过期。前10分钟内工作正常。在此之后,侦听器在我重新启动服务器之前无法获取任何事件。我想那里的连接断开了。代码如下:

  1. // Configuration
  2. @Bean
  3. RedisMessageListenerContainer keyExpirationListenerContainer(ExpirationListener expirationListener) {
  4. RedisMessageListenerContainer listenerContainer = new RedisMessageListenerContainer();
  5. listenerContainer.setConnectionFactory(lettuceConnectionFactory());
  6. listenerContainer.addMessageListener(expirationListener, new PatternTopic("__keyevent@*__:expired"));
  7. listenerContainer.setErrorHandler(e -> log.error("There was an error in redis key expiration listener container", e));
  8. return listenerContainer;
  9. }
  10. // Usage
  11. @Component
  12. @Slf4j
  13. @AllArgsConstructor
  14. public class ExpirationListener implements MessageListener {
  15. @Override
  16. public void onMessage(Message message, byte[] bytes) {
  17. String key = new String(message.getBody());
  18. log.info("expired redis key: {}", key);
  19. }
  20. }

我希望能得到你们的帮助。谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题