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
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"));
@Override
public void start() {
SCHEDULE_EXECUTOR.scheduleAtFixedRate(() -> {
try {
NettyClient client = RequestBuilder.<NettyClient, SnailJobRpcResult>newBuilder()
static {
CLIENT = RequestBuilder.<NettyClient, SnailJobRpcResult>newBuilder()
.client(NettyClient.class)
.timeout(1000L)
.callback(nettyResult -> {
@ -43,7 +39,13 @@ public class SyncRemoteConfig implements Lifecycle {
GroupVersionCache.setConfig(
JsonUtil.parseObject(nettyResult.getData().toString(), ConfigDTO.class));
}).build();
client.syncRemoteConfig();
}
@Override
public void start() {
SCHEDULE_EXECUTOR.scheduleAtFixedRate(() -> {
try {
CLIENT.syncRemoteConfig();
} catch (Exception e) {
SnailJobLog.LOCAL.error("通知配置失败", e);
}