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