【功能实现】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> <bizlog-sdk.version>3.0.6</bizlog-sdk.version>
<mqtt.version>1.2.5</mqtt.version> <mqtt.version>1.2.5</mqtt.version>
<pf4j-spring.version>0.9.0</pf4j-spring.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> <okio.version>3.5.0</okio.version>
<okhttp3.version>4.11.0</okhttp3.version> <okhttp3.version>4.11.0</okhttp3.version>

View File

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

View File

@ -5,7 +5,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @SpringBootApplication
public class HttpPluginSpringbootApplication { public class HttpPluginSpringbootApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(HttpPluginSpringbootApplication.class, 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,6 +1,3 @@
server:
port: 8092
spring: spring:
application: application:
name: yudao-module-iot-http-plugin name: yudao-module-iot-http-plugin