ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/MessageReceiver.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.common.redis.configure; import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.connection.MessageListener; public class MessageReceiver implements MessageListener { @Override public void onMessage(Message message, byte[] pattern) { String channel = new String(message.getChannel()); String body = new String(message.getBody()); System.out.println("接收到消息,channel:" + channel + ",message:" + body); } } ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java
@@ -8,6 +8,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.listener.PatternTopic; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; import org.springframework.data.redis.serializer.StringRedisSerializer; /** @@ -20,6 +23,27 @@ @AutoConfigureBefore(RedisAutoConfiguration.class) public class RedisConfig extends CachingConfigurerSupport { @Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.addMessageListener(listenerAdapter, new PatternTopic("__keyevent@"+"0"+"__:expired")); return container; } @Bean MessageListenerAdapter listenerAdapter(MessageReceiver receiver) { return new MessageListenerAdapter(receiver, "receiveMessage"); } @Bean MessageReceiver receiver() { return new MessageReceiver(); } @Bean @SuppressWarnings(value = { "unchecked", "rawtypes" }) public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/KeyExpirationEventMessageListener.java
File was renamed from ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/KeyExpirationEventMessageListener.java @@ -3,7 +3,7 @@ // (powered by FernFlower decompiler) // package com.ruoyi.common.redis.listener; package com.ruoyi.system.listener; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/KeyspaceEventMessageListener.java
File was renamed from ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/KeyspaceEventMessageListener.java @@ -3,7 +3,7 @@ // (powered by FernFlower decompiler) // package com.ruoyi.common.redis.listener; package com.ruoyi.system.listener; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java
File was renamed from ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/RedisListener.java @@ -1,4 +1,4 @@ package com.ruoyi.common.redis.listener; package com.ruoyi.system.listener; import com.ruoyi.common.core.utils.DateUtils; @@ -7,6 +7,7 @@ import org.springframework.data.redis.connection.Message; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.listener.KeyExpirationEventMessageListener; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.stereotype.Component;