玩转springboot之springboot异步执行

springboot异步执行

使用@EnableAsync开启异步执行

在接口方法上使用@Async注解进行标注,该接口是一个异步接口

自定义异步线程执行器

@Configuration
public class CustomAsyncConfigurer implements AsyncConfigurer {

    @Override
    public Executor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(4);
        executor.setMaxPoolSize(20);
        executor.setQueueCapacity(20);
        executor.setKeepAliveSeconds(60);
        executor.setThreadNamePrefix("myThreadPool-");
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        executor.initialize();
        return executor;
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
        return new AsyncUncaughtExceptionHandler() {
            @Override
            public void handleUncaughtException(Throwable ex, Method method, Object... params) {
                System.out.println("出现异常");
                ex.printStackTrace();
            }
        };
    }
}

https://zhhll.icu/2021/框架/springboot/基础/8.springboot异步执行/

本文由mdnice多平台发布

相关推荐
虫小宝3 小时前
如何在Java中实现批量数据处理
java·开发语言
king888866663 小时前
Java中的AQS
java
冰暮流星3 小时前
软设之类的继承与泛化,多重继承
java·开发语言
虫小宝3 小时前
Java中的多线程与并发编程详解
java·开发语言
oNuoyi3 小时前
定位线上同步锁仍然重复扣费的Bug定位及Redis分布式锁解决方案
java·spring boot·redis·分布式
Easonmax3 小时前
【C++】 解决 C++ 语言报错:Undefined Reference
java·开发语言·c++
王大锤43913 小时前
idea导入opencv和mediapipe
java·opencv·intellij-idea
01传说3 小时前
JAVA 发送短信信息工具类(腾讯云)
java·windows·腾讯云
java6666688883 小时前
Java中的线程调度与性能优化技巧
java·开发语言·性能优化
Easonmax4 小时前
【C++】 解决 C++ 语言报错:Invalid Cast
java·开发语言·c++