From 220e723d4c381a02cc6b72cd0bccd92827ff26d9 Mon Sep 17 00:00:00 2001 From: Frank <3224536684@qq.com> Date: Thu, 21 Sep 2023 11:48:16 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20cms=E5=A2=9E=E5=8A=A0=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=92=8C=E9=94=80=E6=AF=81=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hksup/starter/service/CmsServer.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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 ce8bc99..2546cc2 100644 --- a/src/main/java/net/javase/hksup/starter/service/CmsServer.java +++ b/src/main/java/net/javase/hksup/starter/service/CmsServer.java @@ -36,6 +36,9 @@ 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; + public CmsServer(HkSupSdkProperties supSdkProperties, ApplicationContext applicationContext) { this.supSdkProperties = supSdkProperties; this.applicationContext = applicationContext; @@ -157,6 +160,7 @@ public class CmsServer { */ void startCmsServer() { try { + Optional.ofNullable(preStartCallback).ifPresent(Runnable::run); cmsInit(); startCmsListen(); } catch (Exception ex) { @@ -164,6 +168,20 @@ public class CmsServer { } } + /** + * 初始化服务 前置回调 + */ + public void preStartCallback(Runnable callback) { + this.preStartCallback = callback; + } + + /** + * 设置停止服务后回调 + */ + public void stopCallback(Runnable callback) { + this.stopCallback = callback; + } + /** * 停止CMS服务,回收资源 */ @@ -174,6 +192,7 @@ public class CmsServer { hcisupcms.NET_ECMS_StopListen(CmsHandle); hcisupcms.NET_ECMS_Fini(); log.info("停止CMS注册服务成功!"); + Optional.ofNullable(stopCallback).ifPresent(Runnable::run); } } catch (Exception ex) { log.error("停止CMS注册服务失败: " + ex.getMessage(), ex);