优化 error-code 加载逻辑,失败不影响启动
							parent
							
								
									6be49dae3a
								
							
						
					
					
						commit
						f7a96d5aa0
					
				| 
						 | 
					@ -49,8 +49,12 @@ public class ErrorCodeAutoGeneratorImpl implements ErrorCodeAutoGenerator {
 | 
				
			||||||
        log.info("[execute][解析到错误码数量为 ({}) 个]", autoGenerateDTOs.size());
 | 
					        log.info("[execute][解析到错误码数量为 ({}) 个]", autoGenerateDTOs.size());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 第二步,写入到 system 服务
 | 
					        // 第二步,写入到 system 服务
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
            errorCodeApi.autoGenerateErrorCodeList(autoGenerateDTOs).checkError();
 | 
					            errorCodeApi.autoGenerateErrorCodeList(autoGenerateDTOs).checkError();
 | 
				
			||||||
            log.info("[execute][写入到 system 组件完成]");
 | 
					            log.info("[execute][写入到 system 组件完成]");
 | 
				
			||||||
 | 
					        } catch (Exception ex) {
 | 
				
			||||||
 | 
					            log.error("[execute][写入到 system 组件失败({})]", ExceptionUtil.getRootCauseMessage(ex));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
package cn.iocoder.yudao.framework.errorcode.core.loader;
 | 
					package cn.iocoder.yudao.framework.errorcode.core.loader;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.hutool.core.collection.CollUtil;
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
 | 
					import cn.hutool.core.exceptions.ExceptionUtil;
 | 
				
			||||||
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 | 
					import cn.iocoder.yudao.framework.common.util.date.DateUtils;
 | 
				
			||||||
import cn.iocoder.yudao.module.system.api.errorcode.ErrorCodeApi;
 | 
					import cn.iocoder.yudao.module.system.api.errorcode.ErrorCodeApi;
 | 
				
			||||||
import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
 | 
					import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
 | 
				
			||||||
| 
						 | 
					@ -44,19 +45,21 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private LocalDateTime maxUpdateTime;
 | 
					    private LocalDateTime maxUpdateTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
    @EventListener(ApplicationReadyEvent.class)
 | 
					    @EventListener(ApplicationReadyEvent.class)
 | 
				
			||||||
    @Async // 异步,保证项目的启动过程,毕竟非关键流程
 | 
					    @Async // 异步,保证项目的启动过程,毕竟非关键流程
 | 
				
			||||||
    public void loadErrorCodes() {
 | 
					    public void loadErrorCodes() {
 | 
				
			||||||
        this.loadErrorCodes0();
 | 
					        loadErrorCodes0();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Scheduled(fixedDelay = REFRESH_ERROR_CODE_PERIOD, initialDelay = REFRESH_ERROR_CODE_PERIOD)
 | 
					 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
					    @Scheduled(fixedDelay = REFRESH_ERROR_CODE_PERIOD, initialDelay = REFRESH_ERROR_CODE_PERIOD)
 | 
				
			||||||
    public void refreshErrorCodes() {
 | 
					    public void refreshErrorCodes() {
 | 
				
			||||||
        this.loadErrorCodes0();
 | 
					        loadErrorCodes0();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void loadErrorCodes0() {
 | 
					    private void loadErrorCodes0() {
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
            // 加载错误码
 | 
					            // 加载错误码
 | 
				
			||||||
            List<ErrorCodeRespDTO> errorCodeRespDTOs = errorCodeApi.getErrorCodeList(applicationName, maxUpdateTime).getCheckedData();
 | 
					            List<ErrorCodeRespDTO> errorCodeRespDTOs = errorCodeApi.getErrorCodeList(applicationName, maxUpdateTime).getCheckedData();
 | 
				
			||||||
            if (CollUtil.isEmpty(errorCodeRespDTOs)) {
 | 
					            if (CollUtil.isEmpty(errorCodeRespDTOs)) {
 | 
				
			||||||
| 
						 | 
					@ -71,6 +74,9 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
 | 
				
			||||||
                // 记录下更新时间,方便增量更新
 | 
					                // 记录下更新时间,方便增量更新
 | 
				
			||||||
                maxUpdateTime = DateUtils.max(maxUpdateTime, errorCodeRespDTO.getUpdateTime());
 | 
					                maxUpdateTime = DateUtils.max(maxUpdateTime, errorCodeRespDTO.getUpdateTime());
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					        } catch (Exception ex) {
 | 
				
			||||||
 | 
					            log.error("[loadErrorCodes0][加载错误码失败({})]", ExceptionUtil.getRootCauseMessage(ex));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue