From c81be25465013938c3053722331c6901c6408011 Mon Sep 17 00:00:00 2001 From: Frank <3224536684@qq.com> Date: Thu, 21 Sep 2023 13:45:41 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20cms=E6=B7=BB=E5=8A=A0=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../hksup/starter/service/CmsServer.java | 24 +++++-------------- .../starter/service/CmsServerCallback.java | 16 +++++++++++++ 3 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 src/main/java/net/javase/hksup/starter/service/CmsServerCallback.java diff --git a/pom.xml b/pom.xml index 04bc851..5671212 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ net.javase.hk hk-sup-spring-boot-starter - 0.0.3 + 0.0.4 hk-sup-spring-boot-starter hk-sup-spring-boot-starter diff --git a/src/main/java/net/javase/hksup/starter/service/CmsServer.java b/src/main/java/net/javase/hksup/starter/service/CmsServer.java index 2546cc2..27ad3ff 100644 --- a/src/main/java/net/javase/hksup/starter/service/CmsServer.java +++ b/src/main/java/net/javase/hksup/starter/service/CmsServer.java @@ -36,13 +36,13 @@ public class CmsServer { private HCISUPCMS.DEVICE_REGISTER_CB deviceRegisterCb; HCISUPCMS.NET_EHOME_CMS_LISTEN_PARAM struCMSListenPara = new HCISUPCMS.NET_EHOME_CMS_LISTEN_PARAM(); - private Runnable preStartCallback = null; - private Runnable stopCallback = null; + private CmsServerCallback callback = null; public CmsServer(HkSupSdkProperties supSdkProperties, ApplicationContext applicationContext) { this.supSdkProperties = supSdkProperties; this.applicationContext = applicationContext; createSDKInstance(); + callback = applicationContext.getBeansOfType(CmsServerCallback.class).values().stream().findAny().orElse(null); } /** @@ -160,28 +160,16 @@ public class CmsServer { */ void startCmsServer() { try { - Optional.ofNullable(preStartCallback).ifPresent(Runnable::run); + Optional opt = Optional.ofNullable(callback); + opt.ifPresent(CmsServerCallback::preStart); cmsInit(); startCmsListen(); + opt.ifPresent(CmsServerCallback::finishStart); } catch (Exception ex) { log.error("启动CMS注册服务失败: " + ex.getMessage(), ex); } } - /** - * 初始化服务 前置回调 - */ - public void preStartCallback(Runnable callback) { - this.preStartCallback = callback; - } - - /** - * 设置停止服务后回调 - */ - public void stopCallback(Runnable callback) { - this.stopCallback = callback; - } - /** * 停止CMS服务,回收资源 */ @@ -192,7 +180,7 @@ public class CmsServer { hcisupcms.NET_ECMS_StopListen(CmsHandle); hcisupcms.NET_ECMS_Fini(); log.info("停止CMS注册服务成功!"); - Optional.ofNullable(stopCallback).ifPresent(Runnable::run); + Optional.ofNullable(callback).ifPresent(CmsServerCallback::finishStop); } } catch (Exception ex) { log.error("停止CMS注册服务失败: " + ex.getMessage(), ex); diff --git a/src/main/java/net/javase/hksup/starter/service/CmsServerCallback.java b/src/main/java/net/javase/hksup/starter/service/CmsServerCallback.java new file mode 100644 index 0000000..f83d959 --- /dev/null +++ b/src/main/java/net/javase/hksup/starter/service/CmsServerCallback.java @@ -0,0 +1,16 @@ +package net.javase.hksup.starter.service; + +/** + * CmsServerCallback + * + * @author Frank + */ +public interface CmsServerCallback { + + void preStart(); + + void finishStart(); + + void finishStop(); + +}