防止可能的冲突

This commit is contained in:
孙小云 2025-12-18 15:52:58 +08:00
parent f41a8d6ddd
commit 7ff9c5780c
2 changed files with 10 additions and 6 deletions

View File

@ -15,11 +15,13 @@ import org.springframework.data.redis.listener.RedisMessageListenerContainer;
public class RedisConfig { public class RedisConfig {
/** /**
* 创建 Redis 消息监听容器 * 创建 Redis 消息监听容器专用于机器框架的 MQTT 回调
* 用于 Redis Pub/Sub 功能 * 用于 Redis Pub/Sub 功能
*
* 注意使用特定的 Bean 名称避免与其他模块冲突
*/ */
@Bean @Bean(name = "machineFrameworkRedisMessageListenerContainer")
public RedisMessageListenerContainer redisMessageListenerContainer( public RedisMessageListenerContainer machineFrameworkRedisMessageListenerContainer(
RedisConnectionFactory connectionFactory) { RedisConnectionFactory connectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer(); RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory); container.setConnectionFactory(connectionFactory);

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.data.redis.connection.MessageListener; import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@ -51,9 +52,10 @@ public class RedisMqttCallbackStore implements MqttCallbackStore {
// 配置回调信息的过期时间 // 配置回调信息的过期时间
private static final long EXPIRE_SECONDS = 3600; // 1小时 private static final long EXPIRE_SECONDS = 3600; // 1小时
public RedisMqttCallbackStore(StringRedisTemplate stringRedisTemplate, public RedisMqttCallbackStore(
RedisMessageListenerContainer redisMessageListenerContainer, StringRedisTemplate stringRedisTemplate,
ObjectMapper objectMapper) { @Qualifier("machineFrameworkRedisMessageListenerContainer") RedisMessageListenerContainer redisMessageListenerContainer,
ObjectMapper objectMapper) {
this.stringRedisTemplate = stringRedisTemplate; this.stringRedisTemplate = stringRedisTemplate;
this.redisMessageListenerContainer = redisMessageListenerContainer; this.redisMessageListenerContainer = redisMessageListenerContainer;
this.objectMapper = objectMapper; this.objectMapper = objectMapper;