【代码优化】IoT: 更新 HttpPlugin,重构线程池初始化逻辑以确保线程池活跃
This commit is contained in:
parent
1a3c6756ab
commit
8ca9bebfd1
|
@ -19,12 +19,12 @@ public class HttpPlugin extends Plugin {
|
|||
|
||||
private static final int PORT = 8092;
|
||||
|
||||
private final ExecutorService executorService;
|
||||
private ExecutorService executorService;
|
||||
private DeviceDataApi deviceDataApi;
|
||||
|
||||
public HttpPlugin(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
// 创建单线程池
|
||||
// 初始化线程池
|
||||
this.executorService = Executors.newSingleThreadExecutor();
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,11 @@ public class HttpPlugin extends Plugin {
|
|||
public void start() {
|
||||
log.info("HttpPlugin.start()");
|
||||
|
||||
// 重新初始化线程池,确保它是活跃的
|
||||
if (executorService.isShutdown() || executorService.isTerminated()) {
|
||||
executorService = Executors.newSingleThreadExecutor();
|
||||
}
|
||||
|
||||
// 从 ServiceRegistry 中获取主程序暴露的 DeviceDataApi 接口实例
|
||||
deviceDataApi = ServiceRegistry.getService(DeviceDataApi.class);
|
||||
if (deviceDataApi == null) {
|
||||
|
@ -79,11 +84,11 @@ public class HttpPlugin extends Plugin {
|
|||
future.channel().closeFuture().sync();
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
log.error("HTTP 服务启动中断", e);
|
||||
log.warn("HTTP 服务启动被中断", e);
|
||||
} finally {
|
||||
bossGroup.shutdownGracefully();
|
||||
workerGroup.shutdownGracefully();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue