From a29078b4884700f34c585d306021a71305707f98 Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Wed, 26 Jul 2023 16:26:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E6=AD=A5=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lihongjie/coal/config/AsyncConfig.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/cn/lihongjie/coal/config/AsyncConfig.java diff --git a/src/main/java/cn/lihongjie/coal/config/AsyncConfig.java b/src/main/java/cn/lihongjie/coal/config/AsyncConfig.java new file mode 100644 index 00000000..1b96c948 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/config/AsyncConfig.java @@ -0,0 +1,33 @@ +package cn.lihongjie.coal.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.AsyncConfigurer; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.lang.reflect.Method; +import java.util.Arrays; +import java.util.concurrent.Executor; + +@EnableAsync +@Configuration +@Slf4j +public class AsyncConfig implements AsyncConfigurer { + + + @Override + public Executor getAsyncExecutor() { + ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor(); + threadPoolTaskExecutor.initialize(); + return threadPoolTaskExecutor; + } + + + @Override + public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { + return (ex, method, params) -> log.info("异步方法异常:\nmethod: {}\nparams: {}", method.toString(), Arrays.toString(params), ex); + } +}