From c2c4ca1ef7ef5f51ee1c63f5569317c70092bd5c Mon Sep 17 00:00:00 2001 From: srzou Date: Thu, 5 Dec 2024 14:40:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor(sj=5F1.3.0-beta1):=20=E5=A4=8D?= =?UTF-8?q?=E7=94=A8NettyClient=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/handler/SyncRemoteConfig.java | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/snail-job-client/snail-job-client-common/src/main/java/com/aizuda/snailjob/client/common/handler/SyncRemoteConfig.java b/snail-job-client/snail-job-client-common/src/main/java/com/aizuda/snailjob/client/common/handler/SyncRemoteConfig.java index 5c0742a1a..fc9ef4ffb 100644 --- a/snail-job-client/snail-job-client-common/src/main/java/com/aizuda/snailjob/client/common/handler/SyncRemoteConfig.java +++ b/snail-job-client/snail-job-client-common/src/main/java/com/aizuda/snailjob/client/common/handler/SyncRemoteConfig.java @@ -22,28 +22,30 @@ import java.util.concurrent.TimeUnit; */ @Component public class SyncRemoteConfig implements Lifecycle { - + private static final NettyClient CLIENT; private static final ScheduledExecutorService SCHEDULE_EXECUTOR = Executors.newSingleThreadScheduledExecutor( r -> new Thread(r, "sync-remote-config")); + static { + CLIENT = RequestBuilder.newBuilder() + .client(NettyClient.class) + .timeout(1000L) + .callback(nettyResult -> { + if (Objects.isNull(nettyResult.getData())) { + SnailJobLog.LOCAL.debug("获取配置结果为null"); + return; + } + + GroupVersionCache.setConfig( + JsonUtil.parseObject(nettyResult.getData().toString(), ConfigDTO.class)); + }).build(); + } + @Override public void start() { - SCHEDULE_EXECUTOR.scheduleAtFixedRate(() -> { try { - NettyClient client = RequestBuilder.newBuilder() - .client(NettyClient.class) - .timeout(1000L) - .callback(nettyResult -> { - if (Objects.isNull(nettyResult.getData())) { - SnailJobLog.LOCAL.debug("获取配置结果为null"); - return; - } - - GroupVersionCache.setConfig( - JsonUtil.parseObject(nettyResult.getData().toString(), ConfigDTO.class)); - }).build(); - client.syncRemoteConfig(); + CLIENT.syncRemoteConfig(); } catch (Exception e) { SnailJobLog.LOCAL.error("通知配置失败", e); }