【功能实现】IoT:增加 HttpPlugin 独立启动的 demo

This commit is contained in:
YunaiV 2025-01-20 20:02:46 +08:00
parent 3647fd3686
commit d608c4b984
5 changed files with 39 additions and 6 deletions

View File

@ -67,7 +67,7 @@
<bizlog-sdk.version>3.0.6</bizlog-sdk.version>
<mqtt.version>1.2.5</mqtt.version>
<pf4j-spring.version>0.9.0</pf4j-spring.version>
<vertx.version>4.4.0</vertx.version>
<vertx.version>4.5.11</vertx.version>
<!-- 三方云服务相关 -->
<okio.version>3.5.0</okio.version>
<okhttp3.version>4.11.0</okhttp3.version>

View File

@ -127,7 +127,7 @@
<!-- 其他依赖项 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- PF4J Spring 集成 -->
<dependency>

View File

@ -5,7 +5,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HttpPluginSpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(HttpPluginSpringbootApplication.class, args);
}
}

View File

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.iot.config;
import cn.iocoder.yudao.module.iot.api.device.DeviceDataApi;
import cn.iocoder.yudao.module.iot.api.device.dto.DeviceDataCreateReqDTO;
import cn.iocoder.yudao.module.iot.plugin.HttpVertxPlugin;
import org.pf4j.DefaultPluginManager;
import org.pf4j.PluginWrapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
// TODO 芋艿临时实现
@Configuration
public class TestConfiguration {
@Bean
public DeviceDataApi deviceDataApi() {
return new DeviceDataApi() {
@Override
public void saveDeviceData(DeviceDataCreateReqDTO createDTO) {
System.out.println("saveDeviceData");
}
};
}
// TODO @haohao可能要看下有没更好的方式
@Bean(initMethod = "start")
public HttpVertxPlugin HttpVertxPlugin() {
PluginWrapper pluginWrapper = new PluginWrapper(new DefaultPluginManager(), null, null, null);
return new HttpVertxPlugin(pluginWrapper);
}
}

View File

@ -1,10 +1,7 @@
server:
port: 8092
spring:
application:
name: yudao-module-iot-http-plugin
# MQTT-RPC 配置
mqtt:
broker: tcp://chaojiniu.top:1883