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

master
1351515658@qq.com 2 years ago
parent e8da08a2ea
commit 0bac17d6a6

@ -21,4 +21,14 @@ public interface ErrorCodeLoader {
ServiceExceptionUtil.put(code, msg); ServiceExceptionUtil.put(code, msg);
} }
/**
*
*/
void refreshErrorCodes();
/**
*
*/
void loadErrorCodes();
} }

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

Loading…
Cancel
Save