reactor:【IoT 物联网】合并 messagebus 和 common 包,统一到 core 包
This commit is contained in:
parent
6cf2eb07d7
commit
385cea8d90
|
@ -7,19 +7,61 @@
|
||||||
<groupId>cn.iocoder.boot</groupId>
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modules>
|
|
||||||
<module>yudao-module-iot-common</module>
|
|
||||||
<module>yudao-module-iot-message-bus</module>
|
|
||||||
</modules>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>yudao-module-iot-core</artifactId>
|
<artifactId>yudao-module-iot-core</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
<description>
|
<description>
|
||||||
iot 模块下,提供 iot-biz 和 iot-gateway 模块的核心功能。
|
iot 模块下,提供 iot-biz 和 iot-gateway 模块的核心功能。例如说:
|
||||||
例如说:消息总线、消息协议(编解码)等。
|
1. 消息总线:跨 iot-biz 和 iot-gateway 的设备消息。可选择使用 spring event、redis stream、rocketmq、kafka、rabbitmq 等。
|
||||||
|
2. 查询设备信息的通用 API
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
|
<artifactId>yudao-common</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Spring 核心 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- 消息中间件相关(可选依赖) -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.data</groupId>
|
||||||
|
<artifactId>spring-data-redis</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.rocketmq</groupId>
|
||||||
|
<artifactId>rocketmq-spring-boot-starter</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.amqp</groupId>
|
||||||
|
<artifactId>spring-rabbit</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.kafka</groupId>
|
||||||
|
<artifactId>spring-kafka</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- 测试依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.common.biz;
|
package cn.iocoder.yudao.module.iot.core.biz;
|
||||||
|
|
||||||
// TODO @芋艿:待实现
|
// TODO @芋艿:待实现
|
||||||
public interface IotDeviceCommonApi {
|
public interface IotDeviceCommonApi {
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.common.enums;
|
package cn.iocoder.yudao.module.iot.core.enums;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.common.enums;
|
package cn.iocoder.yudao.module.iot.core.enums;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
|
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
|
@ -1,8 +1,9 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.config;
|
package cn.iocoder.yudao.module.iot.core.messagebus.config;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.local.LocalIotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.local.LocalIotMessageBus;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.rocketmq.RocketMQIotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq.RocketMQIotMessageBus;
|
||||||
|
import cn.iocoder.yudao.module.iot.core.mq.producer.IotDeviceMessageProducer;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.rocketmq.spring.autoconfigure.RocketMQProperties;
|
import org.apache.rocketmq.spring.autoconfigure.RocketMQProperties;
|
||||||
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
||||||
|
@ -24,6 +25,11 @@ import org.springframework.context.annotation.Configuration;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class IotMessageBusAutoConfiguration {
|
public class IotMessageBusAutoConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public IotDeviceMessageProducer deviceMessageProducer(IotMessageBus messageBus) {
|
||||||
|
return new IotDeviceMessageProducer(messageBus);
|
||||||
|
}
|
||||||
|
|
||||||
// ==================== Local 实现 ====================
|
// ==================== Local 实现 ====================
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ -46,6 +52,7 @@ public class IotMessageBusAutoConfiguration {
|
||||||
public static class RocketMQIotMessageBusConfiguration {
|
public static class RocketMQIotMessageBusConfiguration {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
|
||||||
public IotMessageBus rocketMQIotMessageBus(RocketMQProperties rocketMQProperties, RocketMQTemplate rocketMQTemplate) {
|
public IotMessageBus rocketMQIotMessageBus(RocketMQProperties rocketMQProperties, RocketMQTemplate rocketMQTemplate) {
|
||||||
log.info("[rocketMQIotMessageBus][创建 RocketMQ IoT 消息总线]");
|
log.info("[rocketMQIotMessageBus][创建 RocketMQ IoT 消息总线]");
|
||||||
return new RocketMQIotMessageBus(rocketMQProperties, rocketMQTemplate);
|
return new RocketMQIotMessageBus(rocketMQProperties, rocketMQTemplate);
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.config;
|
package cn.iocoder.yudao.module.iot.core.messagebus.config;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IoT 消息总线接口
|
* IoT 消息总线接口
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IoT 消息总线订阅者接口
|
* IoT 消息总线订阅者接口
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core.local;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
|
@ -1,8 +1,8 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core.local;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
@ -12,8 +12,6 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 本地的 {@link IotMessageBus} 实现类
|
* 本地的 {@link IotMessageBus} 实现类
|
|
@ -1,9 +1,9 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core.rocketmq;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq;
|
||||||
|
|
||||||
import cn.hutool.core.util.TypeUtil;
|
import cn.hutool.core.util.TypeUtil;
|
||||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
|
@ -1,7 +1,7 @@
|
||||||
package cn.iocoder.yudao.module.iot.common.message;
|
package cn.iocoder.yudao.module.iot.core.mq.message;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.iot.common.enums.IotDeviceMessageIdentifierEnum;
|
import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageIdentifierEnum;
|
||||||
import cn.iocoder.yudao.module.iot.common.enums.IotDeviceMessageTypeEnum;
|
import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageTypeEnum;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
|
@ -0,0 +1,48 @@
|
||||||
|
package cn.iocoder.yudao.module.iot.core.mq.producer;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
|
||||||
|
import cn.iocoder.yudao.module.iot.core.mq.message.IotDeviceMessage;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IoT 设备消息生产者
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class IotDeviceMessageProducer {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 【消息总线】应用的设备消息 Topic,由 iot-gateway 发给 iot-biz 进行消费
|
||||||
|
*/
|
||||||
|
private static final String MESSAGE_BUS_DEVICE_MESSAGE_TOPIC = "iot_device_message";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 【消息总线】设备消息 Topic,由 iot-biz 发送给 iot-gateway 的某个 “server”(protocol) 进行消费
|
||||||
|
*
|
||||||
|
* 其中,%s 就是该“server”(protocol) 的标识
|
||||||
|
*/
|
||||||
|
private static final String MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC = MESSAGE_BUS_DEVICE_MESSAGE_TOPIC + "/%s";
|
||||||
|
|
||||||
|
private final IotMessageBus messageBus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送设备消息
|
||||||
|
*
|
||||||
|
* @param message 设备消息
|
||||||
|
*/
|
||||||
|
public void sendDeviceMessage(IotDeviceMessage message) {
|
||||||
|
messageBus.post(MESSAGE_BUS_DEVICE_MESSAGE_TOPIC, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送网关设备消息
|
||||||
|
*
|
||||||
|
* @param server 网关的 server 标识
|
||||||
|
* @param message 设备消息
|
||||||
|
*/
|
||||||
|
public void sendGatewayDeviceMessage(String server, Object message) {
|
||||||
|
messageBus.post(String.format(MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC, server), message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||||
|
cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core.local;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration;
|
import cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
|
@ -1,17 +1,14 @@
|
||||||
package cn.iocoder.yudao.module.iot.messagebus.core.rocketmq;
|
package cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq;
|
||||||
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration;
|
import cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
|
||||||
import cn.iocoder.yudao.module.iot.messagebus.core.TestMessage;
|
import cn.iocoder.yudao.module.iot.core.messagebus.core.TestMessage;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.Data;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration;
|
import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration;
|
||||||
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.test.context.TestPropertySource;
|
import org.springframework.test.context.TestPropertySource;
|
|
@ -1,26 +0,0 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>yudao-module-iot-core</artifactId>
|
|
||||||
<groupId>cn.iocoder.boot</groupId>
|
|
||||||
<version>${revision}</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<artifactId>yudao-module-iot-common</artifactId>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
|
|
||||||
<name>${project.artifactId}</name>
|
|
||||||
<description>
|
|
||||||
iot 模块下,提供通用的功能。
|
|
||||||
1. 跨 iot-biz 和 iot-gateway 的设备消息
|
|
||||||
2. 查询设备信息的通用 API
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.iocoder.boot</groupId>
|
|
||||||
<artifactId>yudao-common</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
|
@ -1,22 +0,0 @@
|
||||||
package cn.iocoder.yudao.module.iot.common.enums;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* IoT 通用的枚举
|
|
||||||
*
|
|
||||||
* @author 芋道源码
|
|
||||||
*/
|
|
||||||
public interface IotCommonConstants {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 【消息总线】应用的设备消息 Topic,由 iot-gateway 发给 iot-biz 进行消费
|
|
||||||
*/
|
|
||||||
String MESSAGE_BUS_DEVICE_MESSAGE_TOPIC = "iot_device_message";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 【消息总线】设备消息 Topic,由 iot-biz 发送给 iot-gateway 的某个 “server”(protocol) 进行消费
|
|
||||||
*
|
|
||||||
* 其中,%s 就是该“server”(protocol) 的标识
|
|
||||||
*/
|
|
||||||
String MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC = MESSAGE_BUS_DEVICE_MESSAGE_TOPIC + "/%s";
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,65 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>yudao-module-iot-core</artifactId>
|
|
||||||
<groupId>cn.iocoder.boot</groupId>
|
|
||||||
<version>${revision}</version>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<artifactId>yudao-module-iot-message-bus</artifactId>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
|
|
||||||
<name>${project.artifactId}</name>
|
|
||||||
<description>
|
|
||||||
iot 模块下,提供消息总线的功能。
|
|
||||||
可选择使用 spring event、redis stream、rocketmq、kafka、rabbitmq 等。
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.iocoder.boot</groupId>
|
|
||||||
<artifactId>yudao-common</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- Spring 核心 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- 消息中间件相关(可选依赖) -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.data</groupId>
|
|
||||||
<artifactId>spring-data-redis</artifactId>
|
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.rocketmq</groupId>
|
|
||||||
<artifactId>rocketmq-spring-boot-starter</artifactId>
|
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.amqp</groupId>
|
|
||||||
<artifactId>spring-rabbit</artifactId>
|
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.kafka</groupId>
|
|
||||||
<artifactId>spring-kafka</artifactId>
|
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- 测试依赖 -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
|
@ -1,2 +0,0 @@
|
||||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
|
||||||
cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration
|
|
Loading…
Reference in New Issue