refactor(sj_1.3.0-beta1): 复用NettyClient对象

This commit is contained in:
srzou 2024-12-05 14:40:55 +08:00
parent ac1e679409
commit c2c4ca1ef7

View File

@ -22,16 +22,12 @@ import java.util.concurrent.TimeUnit;
*/ */
@Component @Component
public class SyncRemoteConfig implements Lifecycle { public class SyncRemoteConfig implements Lifecycle {
private static final NettyClient CLIENT;
private static final ScheduledExecutorService SCHEDULE_EXECUTOR = Executors.newSingleThreadScheduledExecutor( private static final ScheduledExecutorService SCHEDULE_EXECUTOR = Executors.newSingleThreadScheduledExecutor(
r -> new Thread(r, "sync-remote-config")); r -> new Thread(r, "sync-remote-config"));
@Override static {
public void start() { CLIENT = RequestBuilder.<NettyClient, SnailJobRpcResult>newBuilder()
SCHEDULE_EXECUTOR.scheduleAtFixedRate(() -> {
try {
NettyClient client = RequestBuilder.<NettyClient, SnailJobRpcResult>newBuilder()
.client(NettyClient.class) .client(NettyClient.class)
.timeout(1000L) .timeout(1000L)
.callback(nettyResult -> { .callback(nettyResult -> {
@ -43,7 +39,13 @@ public class SyncRemoteConfig implements Lifecycle {
GroupVersionCache.setConfig( GroupVersionCache.setConfig(
JsonUtil.parseObject(nettyResult.getData().toString(), ConfigDTO.class)); JsonUtil.parseObject(nettyResult.getData().toString(), ConfigDTO.class));
}).build(); }).build();
client.syncRemoteConfig(); }
@Override
public void start() {
SCHEDULE_EXECUTOR.scheduleAtFixedRate(() -> {
try {
CLIENT.syncRemoteConfig();
} catch (Exception e) { } catch (Exception e) {
SnailJobLog.LOCAL.error("通知配置失败", e); SnailJobLog.LOCAL.error("通知配置失败", e);
} }