使用spring-data-redis来完成订阅,写法也确实比较简单,也不用考虑连接池的问题。但网上的例子都是自己写一个listener,在这个类里写个handleMessage的方法,方法里就是订阅到消息后处理的逻辑。但我想在订阅时处理一些操作,主要是为了注册一个订阅者的队列用于到时缓存订阅的信息,但不知道如何像jedis那样,extends JedisPubSub这个类后,其中复写onSubscribe方法,在里面处理我要处理的事情。
关于spring-data-redis的订阅我是参考
http://www.open-open.com/lib/view/open1351324403395.html
请问大家有没有遇到这样的需求,还请帮忙回答一下,谢谢
另外,在用jedis实现我要的效果时,发现一个问题,就是订阅后,如果将redis服务器重启一下,就没法订阅了,报了个类似无法将jedis还回到pool的错误。但spring-data-redis的订阅就做的比较好,会自动连回redis,继续监听。
我在用jedis时还发现一个问题,我订阅是一个线程在跑的,但时间长的了后,不操作时,再发布一条信息时,订阅就无法订阅到了,后台报错,依然是无法将jedis连接还回到pool中,不知道是什么问题,所以想还是用spring-data-redis。