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();
+
+}