From d19b7147f282cb110c3074df22a0ff58fc80e630 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Mon, 10 Oct 2022 21:34:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=BA=94=E7=94=A8=E7=94=9F?= =?UTF-8?q?=E5=91=BD=E5=91=A8=E6=9C=9F=E4=BA=8B=E4=BB=B6=E4=BC=98=E5=8C=96?= =?UTF-8?q?license=E8=8E=B7=E5=8F=96=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/event/ApplicationEventReceiver.java | 2 +- .../core/ApplicationLifeCycleListener.java | 15 ++++++++++++++- .../client/core/LicenseObtainService.java | 18 ++++++------------ 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/base/event/ApplicationEventReceiver.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/base/event/ApplicationEventReceiver.java index 47028e3d..c0b93134 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/base/event/ApplicationEventReceiver.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/base/event/ApplicationEventReceiver.java @@ -50,7 +50,7 @@ public class ApplicationEventReceiver implements EventReceiver msg) { - log.debug("ApplicationEventReceiver receive {}", JSONObject.toJSONString(msg)); + log.debug("ApplicationEventReceiver receive {}", JSONObject.toJSONString(msg.data())); } public void setTopic(String topic) { diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ApplicationLifeCycleListener.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ApplicationLifeCycleListener.java index 5d830929..686d97fc 100644 --- a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ApplicationLifeCycleListener.java +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/ApplicationLifeCycleListener.java @@ -21,9 +21,14 @@ */ package fun.asgc.neutrino.proxy.client.core; +import fun.asgc.neutrino.core.annotation.Autowired; +import fun.asgc.neutrino.core.annotation.Component; +import fun.asgc.neutrino.core.annotation.NonIntercept; +import fun.asgc.neutrino.core.annotation.Subscribe; import fun.asgc.neutrino.core.base.event.ApplicationEvent; import fun.asgc.neutrino.core.base.event.ApplicationEventReceiver; import fun.asgc.neutrino.core.constant.AppLifeCycleStatusEnum; +import fun.asgc.neutrino.core.constant.MetaDataConstant; import lombok.extern.slf4j.Slf4j; /** @@ -31,11 +36,19 @@ import lombok.extern.slf4j.Slf4j; * @date: 2022/10/10 */ @Slf4j +@NonIntercept +@Component +@Subscribe(topic = MetaDataConstant.TOPIC_APP_LIFE_CYCLE) public class ApplicationLifeCycleListener extends ApplicationEventReceiver { + @Autowired + private LicenseObtainService licenseObtainService; @Override public void receive(ApplicationEvent msg) { - log.info("ApplicationLifeCycleListener:{}", msg.data().getDesc()); + log.debug("ApplicationLifeCycleListener:{}", msg.data().getDesc()); + if (msg.data() == AppLifeCycleStatusEnum.APP_STARTUP) { + licenseObtainService.start(); + } } } diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java index 628fcc46..350212e7 100644 --- a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java @@ -25,11 +25,10 @@ import fun.asgc.neutrino.core.annotation.Autowired; import fun.asgc.neutrino.core.annotation.Component; import fun.asgc.neutrino.core.annotation.NonIntercept; import fun.asgc.neutrino.core.base.CustomThreadFactory; -import fun.asgc.neutrino.core.context.ApplicationRunner; +import fun.asgc.neutrino.core.context.Environment; import fun.asgc.neutrino.core.util.ArrayUtil; import fun.asgc.neutrino.core.util.FileUtil; import fun.asgc.neutrino.core.util.StringUtil; -import fun.asgc.neutrino.core.util.SystemUtil; import fun.asgc.neutrino.proxy.client.config.ProxyConfig; import lombok.extern.slf4j.Slf4j; @@ -47,7 +46,7 @@ import java.util.concurrent.locks.ReentrantLock; @Slf4j @NonIntercept @Component -public class LicenseObtainService implements ApplicationRunner { +public class LicenseObtainService { @Autowired private ProxyConfig proxyConfig; /** @@ -59,16 +58,15 @@ public class LicenseObtainService implements ApplicationRunner { private ProxyClientService proxyClientService; private ReentrantLock runLock = new ReentrantLock(); private Scanner scanner = new Scanner(System.in); - private volatile boolean isFirst; + @Autowired + private Environment environment; - @Override - public void run(String[] args) throws Exception { - isFirst = true; + public void start() { scheduledExecutor.scheduleWithFixedDelay(() -> { boolean lock = runLock.tryLock(); try { if (lock) { - this.process(args); + this.process(this.environment.getMainArgs()); } } finally { if (runLock.isHeldByCurrentThread()){ @@ -84,10 +82,6 @@ public class LicenseObtainService implements ApplicationRunner { } public void process(String[] args) { - if (isFirst) { - isFirst = false; - SystemUtil.trySleep(2000); - } String licenseKey = getLicenseKey(args); proxyClientService.start(licenseKey); }