diff --git a/src/main/java/com/tuoheng/machine/config/RedisConfig.java b/src/main/java/com/tuoheng/machine/config/RedisConfig.java index 7da1760..ff8feaf 100644 --- a/src/main/java/com/tuoheng/machine/config/RedisConfig.java +++ b/src/main/java/com/tuoheng/machine/config/RedisConfig.java @@ -15,11 +15,13 @@ import org.springframework.data.redis.listener.RedisMessageListenerContainer; public class RedisConfig { /** - * 创建 Redis 消息监听容器 + * 创建 Redis 消息监听容器(专用于机器框架的 MQTT 回调) * 用于 Redis Pub/Sub 功能 + * + * 注意:使用特定的 Bean 名称避免与其他模块冲突 */ - @Bean - public RedisMessageListenerContainer redisMessageListenerContainer( + @Bean(name = "machineFrameworkRedisMessageListenerContainer") + public RedisMessageListenerContainer machineFrameworkRedisMessageListenerContainer( RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); diff --git a/src/main/java/com/tuoheng/machine/mqtt/store/RedisMqttCallbackStore.java b/src/main/java/com/tuoheng/machine/mqtt/store/RedisMqttCallbackStore.java index 099c68c..9ebe829 100644 --- a/src/main/java/com/tuoheng/machine/mqtt/store/RedisMqttCallbackStore.java +++ b/src/main/java/com/tuoheng/machine/mqtt/store/RedisMqttCallbackStore.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.redis.connection.MessageListener; import org.springframework.data.redis.core.RedisTemplate; @@ -51,9 +52,10 @@ public class RedisMqttCallbackStore implements MqttCallbackStore { // 配置回调信息的过期时间 private static final long EXPIRE_SECONDS = 3600; // 1小时 - public RedisMqttCallbackStore(StringRedisTemplate stringRedisTemplate, - RedisMessageListenerContainer redisMessageListenerContainer, - ObjectMapper objectMapper) { + public RedisMqttCallbackStore( + StringRedisTemplate stringRedisTemplate, + @Qualifier("machineFrameworkRedisMessageListenerContainer") RedisMessageListenerContainer redisMessageListenerContainer, + ObjectMapper objectMapper) { this.stringRedisTemplate = stringRedisTemplate; this.redisMessageListenerContainer = redisMessageListenerContainer; this.objectMapper = objectMapper;