springboot 收集async 异步子线程 异常信息并且进行处理的方法
1、首先创建异常处理类
@Component public class AsyncExceptionHandler implements AsyncUncaughtExceptionHandler { private final Logger logger = LoggerFactory.getLogger(AsyncExceptionHandler.class); @Override public void handleUncaughtException(Throwable ex, Method method, Object... params) { logger.error("Unexpected asynchronous exception at : " + method.getDeclaringClass().getName() + "." + method.getName(), ex); } }
2、然后将异常处理类注入容器
@Configuration @EnableAsync public class AsyncConfig extends AsyncConfigurerSupport { @Autowired private AsyncExceptionHandler asyncExceptionHandler; @Override public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { return asyncExceptionHandler; } }