Commit 385cea8d9069e71b3d4e2a109e56afb39849f420

Authored by YunaiV
1 parent 6cf2eb07

reactor:【IoT 物联网】合并 messagebus 和 common 包,统一到 core 包

Showing 21 changed files with 136 additions and 157 deletions
yudao-module-iot/yudao-module-iot-core/pom.xml
@@ -7,19 +7,61 @@ @@ -7,19 +7,61 @@
7 <groupId>cn.iocoder.boot</groupId> 7 <groupId>cn.iocoder.boot</groupId>
8 <version>${revision}</version> 8 <version>${revision}</version>
9 </parent> 9 </parent>
10 - <modules>  
11 - <module>yudao-module-iot-common</module>  
12 - <module>yudao-module-iot-message-bus</module>  
13 - </modules>  
14 <modelVersion>4.0.0</modelVersion> 10 <modelVersion>4.0.0</modelVersion>
15 11
16 <artifactId>yudao-module-iot-core</artifactId> 12 <artifactId>yudao-module-iot-core</artifactId>
17 - <packaging>pom</packaging> 13 + <packaging>jar</packaging>
18 14
19 <name>${project.artifactId}</name> 15 <name>${project.artifactId}</name>
20 <description> 16 <description>
21 - iot 模块下,提供 iot-biz 和 iot-gateway 模块的核心功能。  
22 - 例如说:消息总线、消息协议(编解码)等。 17 + iot 模块下,提供 iot-biz 和 iot-gateway 模块的核心功能。例如说:
  18 + 1. 消息总线:跨 iot-biz 和 iot-gateway 的设备消息。可选择使用 spring event、redis stream、rocketmq、kafka、rabbitmq 等。
  19 + 2. 查询设备信息的通用 API
23 </description> 20 </description>
24 21
  22 + <dependencies>
  23 + <dependency>
  24 + <groupId>cn.iocoder.boot</groupId>
  25 + <artifactId>yudao-common</artifactId>
  26 + </dependency>
  27 +
  28 + <!-- Spring 核心 -->
  29 + <dependency>
  30 + <groupId>org.springframework.boot</groupId>
  31 + <artifactId>spring-boot-starter</artifactId>
  32 + </dependency>
  33 +
  34 + <!-- 消息中间件相关(可选依赖) -->
  35 + <dependency>
  36 + <groupId>org.springframework.data</groupId>
  37 + <artifactId>spring-data-redis</artifactId>
  38 + <optional>true</optional>
  39 + </dependency>
  40 +
  41 + <dependency>
  42 + <groupId>org.apache.rocketmq</groupId>
  43 + <artifactId>rocketmq-spring-boot-starter</artifactId>
  44 + <optional>true</optional>
  45 + </dependency>
  46 +
  47 + <dependency>
  48 + <groupId>org.springframework.amqp</groupId>
  49 + <artifactId>spring-rabbit</artifactId>
  50 + <optional>true</optional>
  51 + </dependency>
  52 +
  53 + <dependency>
  54 + <groupId>org.springframework.kafka</groupId>
  55 + <artifactId>spring-kafka</artifactId>
  56 + <optional>true</optional>
  57 + </dependency>
  58 +
  59 + <!-- 测试依赖 -->
  60 + <dependency>
  61 + <groupId>org.springframework.boot</groupId>
  62 + <artifactId>spring-boot-starter-test</artifactId>
  63 + <scope>test</scope>
  64 + </dependency>
  65 + </dependencies>
  66 +
25 </project> 67 </project>
26 \ No newline at end of file 68 \ No newline at end of file
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/biz/IotDeviceCommonApi.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/biz/IotDeviceCommonApi.java
1 -package cn.iocoder.yudao.module.iot.common.biz; 1 +package cn.iocoder.yudao.module.iot.core.biz;
2 2
3 // TODO @芋艿:待实现 3 // TODO @芋艿:待实现
4 public interface IotDeviceCommonApi { 4 public interface IotDeviceCommonApi {
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageIdentifierEnum.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageIdentifierEnum.java
1 -package cn.iocoder.yudao.module.iot.common.enums; 1 +package cn.iocoder.yudao.module.iot.core.enums;
2 2
3 import lombok.Getter; 3 import lombok.Getter;
4 import lombok.RequiredArgsConstructor; 4 import lombok.RequiredArgsConstructor;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageTypeEnum.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageTypeEnum.java
1 -package cn.iocoder.yudao.module.iot.common.enums; 1 +package cn.iocoder.yudao.module.iot.core.enums;
2 2
3 import cn.iocoder.yudao.framework.common.core.ArrayValuable; 3 import cn.iocoder.yudao.framework.common.core.ArrayValuable;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusAutoConfiguration.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusAutoConfiguration.java
1 -package cn.iocoder.yudao.module.iot.messagebus.config; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.config;
2 2
3 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;  
4 -import cn.iocoder.yudao.module.iot.messagebus.core.local.LocalIotMessageBus;  
5 -import cn.iocoder.yudao.module.iot.messagebus.core.rocketmq.RocketMQIotMessageBus; 3 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
  4 +import cn.iocoder.yudao.module.iot.core.messagebus.core.local.LocalIotMessageBus;
  5 +import cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq.RocketMQIotMessageBus;
  6 +import cn.iocoder.yudao.module.iot.core.mq.producer.IotDeviceMessageProducer;
6 import lombok.extern.slf4j.Slf4j; 7 import lombok.extern.slf4j.Slf4j;
7 import org.apache.rocketmq.spring.autoconfigure.RocketMQProperties; 8 import org.apache.rocketmq.spring.autoconfigure.RocketMQProperties;
8 import org.apache.rocketmq.spring.core.RocketMQTemplate; 9 import org.apache.rocketmq.spring.core.RocketMQTemplate;
@@ -24,6 +25,11 @@ import org.springframework.context.annotation.Configuration; @@ -24,6 +25,11 @@ import org.springframework.context.annotation.Configuration;
24 @Slf4j 25 @Slf4j
25 public class IotMessageBusAutoConfiguration { 26 public class IotMessageBusAutoConfiguration {
26 27
  28 + @Bean
  29 + public IotDeviceMessageProducer deviceMessageProducer(IotMessageBus messageBus) {
  30 + return new IotDeviceMessageProducer(messageBus);
  31 + }
  32 +
27 // ==================== Local 实现 ==================== 33 // ==================== Local 实现 ====================
28 34
29 @Configuration 35 @Configuration
@@ -46,6 +52,7 @@ public class IotMessageBusAutoConfiguration { @@ -46,6 +52,7 @@ public class IotMessageBusAutoConfiguration {
46 public static class RocketMQIotMessageBusConfiguration { 52 public static class RocketMQIotMessageBusConfiguration {
47 53
48 @Bean 54 @Bean
  55 + @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
49 public IotMessageBus rocketMQIotMessageBus(RocketMQProperties rocketMQProperties, RocketMQTemplate rocketMQTemplate) { 56 public IotMessageBus rocketMQIotMessageBus(RocketMQProperties rocketMQProperties, RocketMQTemplate rocketMQTemplate) {
50 log.info("[rocketMQIotMessageBus][创建 RocketMQ IoT 消息总线]"); 57 log.info("[rocketMQIotMessageBus][创建 RocketMQ IoT 消息总线]");
51 return new RocketMQIotMessageBus(rocketMQProperties, rocketMQTemplate); 58 return new RocketMQIotMessageBus(rocketMQProperties, rocketMQTemplate);
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusProperties.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusProperties.java
1 -package cn.iocoder.yudao.module.iot.messagebus.config; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.config;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import org.springframework.boot.context.properties.ConfigurationProperties; 4 import org.springframework.boot.context.properties.ConfigurationProperties;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBus.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBus.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core;
2 2
3 /** 3 /**
4 * IoT 消息总线接口 4 * IoT 消息总线接口
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBusSubscriber.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBusSubscriber.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core;
2 2
3 /** 3 /**
4 * IoT 消息总线订阅者接口 4 * IoT 消息总线订阅者接口
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessage.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessage.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core.local; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
2 2
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import lombok.Data; 4 import lombok.Data;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBus.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBus.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core.local; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;  
5 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber; 4 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
  5 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
6 import lombok.RequiredArgsConstructor; 6 import lombok.RequiredArgsConstructor;
7 import lombok.extern.slf4j.Slf4j; 7 import lombok.extern.slf4j.Slf4j;
8 import org.springframework.context.ApplicationContext; 8 import org.springframework.context.ApplicationContext;
@@ -12,8 +12,6 @@ import java.util.ArrayList; @@ -12,8 +12,6 @@ import java.util.ArrayList;
12 import java.util.HashMap; 12 import java.util.HashMap;
13 import java.util.List; 13 import java.util.List;
14 import java.util.Map; 14 import java.util.Map;
15 -import java.util.concurrent.ConcurrentHashMap;  
16 -import java.util.concurrent.CopyOnWriteArrayList;  
17 15
18 /** 16 /**
19 * 本地的 {@link IotMessageBus} 实现类 17 * 本地的 {@link IotMessageBus} 实现类
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBus.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBus.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core.rocketmq; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq;
2 2
3 import cn.hutool.core.util.TypeUtil; 3 import cn.hutool.core.util.TypeUtil;
4 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 4 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
5 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;  
6 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber; 5 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
  6 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
7 import lombok.RequiredArgsConstructor; 7 import lombok.RequiredArgsConstructor;
8 import lombok.SneakyThrows; 8 import lombok.SneakyThrows;
9 import lombok.extern.slf4j.Slf4j; 9 import lombok.extern.slf4j.Slf4j;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/message/IotDeviceMessage.java renamed to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/message/IotDeviceMessage.java
1 -package cn.iocoder.yudao.module.iot.common.message; 1 +package cn.iocoder.yudao.module.iot.core.mq.message;
2 2
3 -import cn.iocoder.yudao.module.iot.common.enums.IotDeviceMessageIdentifierEnum;  
4 -import cn.iocoder.yudao.module.iot.common.enums.IotDeviceMessageTypeEnum; 3 +import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageIdentifierEnum;
  4 +import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageTypeEnum;
5 import lombok.AllArgsConstructor; 5 import lombok.AllArgsConstructor;
6 import lombok.Builder; 6 import lombok.Builder;
7 import lombok.Data; 7 import lombok.Data;
yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/producer/IotDeviceMessageProducer.java 0 → 100644
  1 +package cn.iocoder.yudao.module.iot.core.mq.producer;
  2 +
  3 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
  4 +import cn.iocoder.yudao.module.iot.core.mq.message.IotDeviceMessage;
  5 +import lombok.RequiredArgsConstructor;
  6 +
  7 +/**
  8 + * IoT 设备消息生产者
  9 + *
  10 + * @author 芋道源码
  11 + */
  12 +@RequiredArgsConstructor
  13 +public class IotDeviceMessageProducer {
  14 +
  15 + /**
  16 + * 【消息总线】应用的设备消息 Topic,由 iot-gateway 发给 iot-biz 进行消费
  17 + */
  18 + private static final String MESSAGE_BUS_DEVICE_MESSAGE_TOPIC = "iot_device_message";
  19 +
  20 + /**
  21 + * 【消息总线】设备消息 Topic,由 iot-biz 发送给 iot-gateway 的某个 “server”(protocol) 进行消费
  22 + *
  23 + * 其中,%s 就是该“server”(protocol) 的标识
  24 + */
  25 + private static final String MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC = MESSAGE_BUS_DEVICE_MESSAGE_TOPIC + "/%s";
  26 +
  27 + private final IotMessageBus messageBus;
  28 +
  29 + /**
  30 + * 发送设备消息
  31 + *
  32 + * @param message 设备消息
  33 + */
  34 + public void sendDeviceMessage(IotDeviceMessage message) {
  35 + messageBus.post(MESSAGE_BUS_DEVICE_MESSAGE_TOPIC, message);
  36 + }
  37 +
  38 + /**
  39 + * 发送网关设备消息
  40 + *
  41 + * @param server 网关的 server 标识
  42 + * @param message 设备消息
  43 + */
  44 + public void sendGatewayDeviceMessage(String server, Object message) {
  45 + messageBus.post(String.format(MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC, server), message);
  46 + }
  47 +
  48 +}
yudao-module-iot/yudao-module-iot-core/src/main/resources/META-INF/spring.factories 0 → 100644
  1 +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  2 +cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration
0 \ No newline at end of file 3 \ No newline at end of file
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/TestMessage.java renamed to yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/TestMessage.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBusIntegrationTest.java renamed to yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBusIntegrationTest.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core.local; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
2 2
3 -import cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration;  
4 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;  
5 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber; 3 +import cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration;
  4 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
  5 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
6 import jakarta.annotation.Resource; 6 import jakarta.annotation.Resource;
7 import lombok.extern.slf4j.Slf4j; 7 import lombok.extern.slf4j.Slf4j;
8 import org.junit.jupiter.api.Test; 8 import org.junit.jupiter.api.Test;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java renamed to yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java
1 -package cn.iocoder.yudao.module.iot.messagebus.core.rocketmq; 1 +package cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq;
2 2
3 import cn.hutool.core.util.IdUtil; 3 import cn.hutool.core.util.IdUtil;
4 -import cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration;  
5 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;  
6 -import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;  
7 -import cn.iocoder.yudao.module.iot.messagebus.core.TestMessage; 4 +import cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration;
  5 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
  6 +import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
  7 +import cn.iocoder.yudao.module.iot.core.messagebus.core.TestMessage;
8 import jakarta.annotation.Resource; 8 import jakarta.annotation.Resource;
9 -import lombok.Data;  
10 import lombok.extern.slf4j.Slf4j; 9 import lombok.extern.slf4j.Slf4j;
11 import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration; 10 import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration;
12 -import org.apache.rocketmq.spring.core.RocketMQTemplate;  
13 import org.junit.jupiter.api.Test; 11 import org.junit.jupiter.api.Test;
14 -import org.springframework.beans.factory.annotation.Autowired;  
15 import org.springframework.boot.test.context.SpringBootTest; 12 import org.springframework.boot.test.context.SpringBootTest;
16 import org.springframework.context.annotation.Import; 13 import org.springframework.context.annotation.Import;
17 import org.springframework.test.context.TestPropertySource; 14 import org.springframework.test.context.TestPropertySource;
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/pom.xml deleted
1 -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
2 - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
3 - <parent>  
4 - <artifactId>yudao-module-iot-core</artifactId>  
5 - <groupId>cn.iocoder.boot</groupId>  
6 - <version>${revision}</version>  
7 - </parent>  
8 - <modelVersion>4.0.0</modelVersion>  
9 - <artifactId>yudao-module-iot-common</artifactId>  
10 - <packaging>jar</packaging>  
11 -  
12 - <name>${project.artifactId}</name>  
13 - <description>  
14 - iot 模块下,提供通用的功能。  
15 - 1. 跨 iot-biz 和 iot-gateway 的设备消息  
16 - 2. 查询设备信息的通用 API  
17 - </description>  
18 -  
19 - <dependencies>  
20 - <dependency>  
21 - <groupId>cn.iocoder.boot</groupId>  
22 - <artifactId>yudao-common</artifactId>  
23 - </dependency>  
24 - </dependencies>  
25 -  
26 -</project>  
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotCommonConstants.java deleted
1 -package cn.iocoder.yudao.module.iot.common.enums;  
2 -  
3 -/**  
4 - * IoT 通用的枚举  
5 - *  
6 - * @author 芋道源码  
7 - */  
8 -public interface IotCommonConstants {  
9 -  
10 - /**  
11 - * 【消息总线】应用的设备消息 Topic,由 iot-gateway 发给 iot-biz 进行消费  
12 - */  
13 - String MESSAGE_BUS_DEVICE_MESSAGE_TOPIC = "iot_device_message";  
14 -  
15 - /**  
16 - * 【消息总线】设备消息 Topic,由 iot-biz 发送给 iot-gateway 的某个 “server”(protocol) 进行消费  
17 - *  
18 - * 其中,%s 就是该“server”(protocol) 的标识  
19 - */  
20 - String MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC = MESSAGE_BUS_DEVICE_MESSAGE_TOPIC + "/%s";  
21 -  
22 -}  
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/pom.xml deleted
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<project xmlns="http://maven.apache.org/POM/4.0.0"  
3 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4 - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
5 - <parent>  
6 - <artifactId>yudao-module-iot-core</artifactId>  
7 - <groupId>cn.iocoder.boot</groupId>  
8 - <version>${revision}</version>  
9 - </parent>  
10 - <modelVersion>4.0.0</modelVersion>  
11 - <artifactId>yudao-module-iot-message-bus</artifactId>  
12 - <packaging>jar</packaging>  
13 -  
14 - <name>${project.artifactId}</name>  
15 - <description>  
16 - iot 模块下,提供消息总线的功能。  
17 - 可选择使用 spring event、redis stream、rocketmq、kafka、rabbitmq 等。  
18 - </description>  
19 -  
20 - <dependencies>  
21 - <dependency>  
22 - <groupId>cn.iocoder.boot</groupId>  
23 - <artifactId>yudao-common</artifactId>  
24 - </dependency>  
25 -  
26 - <!-- Spring 核心 -->  
27 - <dependency>  
28 - <groupId>org.springframework.boot</groupId>  
29 - <artifactId>spring-boot-starter</artifactId>  
30 - </dependency>  
31 -  
32 - <!-- 消息中间件相关(可选依赖) -->  
33 - <dependency>  
34 - <groupId>org.springframework.data</groupId>  
35 - <artifactId>spring-data-redis</artifactId>  
36 - <optional>true</optional>  
37 - </dependency>  
38 -  
39 - <dependency>  
40 - <groupId>org.apache.rocketmq</groupId>  
41 - <artifactId>rocketmq-spring-boot-starter</artifactId>  
42 - <optional>true</optional>  
43 - </dependency>  
44 -  
45 - <dependency>  
46 - <groupId>org.springframework.amqp</groupId>  
47 - <artifactId>spring-rabbit</artifactId>  
48 - <optional>true</optional>  
49 - </dependency>  
50 -  
51 - <dependency>  
52 - <groupId>org.springframework.kafka</groupId>  
53 - <artifactId>spring-kafka</artifactId>  
54 - <optional>true</optional>  
55 - </dependency>  
56 -  
57 - <!-- 测试依赖 -->  
58 - <dependency>  
59 - <groupId>org.springframework.boot</groupId>  
60 - <artifactId>spring-boot-starter-test</artifactId>  
61 - <scope>test</scope>  
62 - </dependency>  
63 - </dependencies>  
64 -  
65 -</project>  
66 \ No newline at end of file 0 \ No newline at end of file
yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/resources/META-INF/spring.factories deleted
1 -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\  
2 -cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration  
3 \ No newline at end of file 0 \ No newline at end of file