|
@@ -2,9 +2,11 @@ package com.zd.laboratory.event;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.zd.laboratory.event.handle.EventHandler;
|
|
import com.zd.laboratory.event.handle.EventHandler;
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.data.redis.connection.Message;
|
|
import org.springframework.data.redis.connection.Message;
|
|
|
-import org.springframework.data.redis.connection.MessageListener;
|
|
|
|
|
|
|
+import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
|
|
|
import org.springframework.data.redis.listener.PatternTopic;
|
|
import org.springframework.data.redis.listener.PatternTopic;
|
|
|
|
|
+import org.springframework.data.redis.listener.RedisMessageListenerContainer;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -30,7 +32,8 @@ import java.util.stream.Collectors;
|
|
|
* @Description:
|
|
* @Description:
|
|
|
*/
|
|
*/
|
|
|
@Component
|
|
@Component
|
|
|
-public class RedisExpiredAndAddListener implements MessageListener {
|
|
|
|
|
|
|
+@Slf4j
|
|
|
|
|
+public class RedisExpiredAndAddListener extends KeyExpirationEventMessageListener {
|
|
|
|
|
|
|
|
//监听的主题 现在只监听0号数据库
|
|
//监听的主题 现在只监听0号数据库
|
|
|
private final PatternTopic topic = new PatternTopic("__keyevent@0__:expired");
|
|
private final PatternTopic topic = new PatternTopic("__keyevent@0__:expired");
|
|
@@ -39,8 +42,9 @@ public class RedisExpiredAndAddListener implements MessageListener {
|
|
|
|
|
|
|
|
private Map<String,EventHandler> map ;
|
|
private Map<String,EventHandler> map ;
|
|
|
|
|
|
|
|
- public RedisExpiredAndAddListener(List<EventHandler> eventHandlers)
|
|
|
|
|
|
|
+ public RedisExpiredAndAddListener(List<EventHandler> eventHandlers, RedisMessageListenerContainer listenerContainer)
|
|
|
{
|
|
{
|
|
|
|
|
+ super(listenerContainer);
|
|
|
map = eventHandlers.stream().collect(Collectors.toMap(a -> a.handleKey(), Function.identity()));
|
|
map = eventHandlers.stream().collect(Collectors.toMap(a -> a.handleKey(), Function.identity()));
|
|
|
}
|
|
}
|
|
|
|
|
|