【代码优化】IoT: 数据桥梁的执行器根据引入的消息队列动态加载

This commit is contained in:
puhui999 2025-03-08 10:50:22 +08:00
parent 7ab61b6d06
commit 831970233c
4 changed files with 19 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.iot.mq.message.IotDeviceMessage;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.StringSerializer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
@ -21,6 +22,7 @@ import java.util.concurrent.TimeUnit;
*
* @author HUIHUI
*/
@ConditionalOnClass(KafkaTemplate.class)
@Component
@Slf4j
public class IotKafkaMQDataBridgeExecute extends

View File

@ -7,6 +7,7 @@ import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.stereotype.Component;
import java.nio.charset.StandardCharsets;
@ -17,6 +18,7 @@ import java.time.LocalDateTime;
*
* @author HUIHUI
*/
@ConditionalOnClass(Channel.class)
@Component
@Slf4j
public class IotRabbitMQDataBridgeExecute extends

View File

@ -9,6 +9,7 @@ import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.client.producer.SendStatus;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
@ -18,6 +19,7 @@ import java.time.LocalDateTime;
*
* @author HUIHUI
*/
@ConditionalOnClass(DefaultMQProducer.class)
@Component
@Slf4j
public class IotRocketMQDataBridgeExecute extends

View File

@ -114,6 +114,19 @@
<artifactId>yudao-module-iot-biz</artifactId>
<version>${revision}</version>
</dependency>
<!-- IoT 数据桥梁的执行器所需消息队列。如果您只需要使用 rocketmq 那么则注释掉其它消息队列即可 -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<!-- spring boot 配置所需依赖 -->
<dependency>