optimize 错误码组件初始化不阻塞服务启动

This commit is contained in:
1351515658@qq.com 2023-10-19 19:02:53 +08:00
parent e8da08a2ea
commit 0bac17d6a6
2 changed files with 13 additions and 0 deletions

View File

@ -21,4 +21,14 @@ public interface ErrorCodeLoader {
ServiceExceptionUtil.put(code, msg);
}
/**
* 刷新错误码
*/
void refreshErrorCodes();
/**
* 加载错误码
*/
void loadErrorCodes();
}

View File

@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import java.time.LocalDateTime;
@ -44,11 +45,13 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
private LocalDateTime maxUpdateTime;
@EventListener(ApplicationReadyEvent.class)
@Async // 异步保证项目的启动过程毕竟非关键流程
public void loadErrorCodes() {
this.loadErrorCodes0();
}
@Scheduled(fixedDelay = REFRESH_ERROR_CODE_PERIOD, initialDelay = REFRESH_ERROR_CODE_PERIOD)
@Override
public void refreshErrorCodes() {
this.loadErrorCodes0();
}