From 8e3d50aaa6ac9055a5832503c54651f140f030f1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 七月 2025 09:59:32 +0800
Subject: [PATCH] 新增加抽奖二维码功能
---
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java
index 0fd5e0f..6eb6982 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/configure/RedisConfig.java
@@ -1,5 +1,8 @@
package com.ruoyi.common.redis.configure;
+import org.redisson.Redisson;
+import org.redisson.api.RedissonClient;
+import org.redisson.config.Config;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.cache.annotation.CachingConfigurerSupport;
@@ -8,7 +11,12 @@
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;
+
+import java.io.IOException;
/**
* redis配置
@@ -20,6 +28,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)
@@ -40,4 +69,16 @@
template.afterPropertiesSet();
return template;
}
+
+ @Bean(destroyMethod="shutdown") // 服务停止后调用 shutdown 方法。
+ public RedissonClient redisson() throws IOException {
+ // 1.创建配置
+ Config config = new Config();
+ // 集群模式
+ // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001");
+ // 2.根据 Config 创建出 RedissonClient 示例。
+ config.useSingleServer().setAddress("redis://47.109.78.184:10020").setPassword("hrt123456");
+ return Redisson.create(config);
+ }
+
}
--
Gitblit v1.7.1