Spring Boot 异步运用

使用@Async标签 导入包 org.springframework.scheduling.annotation.Async 并配置并发线程池asyncTaskConfig 实现AsyncConfigurer接口 连接池注解 @EnableAsync @Configure

重写接口getAsyncExecutor方法 并返回ThreadPoolTaskExecutor实例 实例化ThreadPoolTaskExecutor 并对其进行初始化:corePoolSize(最小线程数)、maxPoolSize(最大线程数)、QueueCapacity(等待队列)、AwaitTerminationSecond(设置线程池任务等待时间 超过时间强制关闭)、WaitForTasksToCompleteOnShutdown(TRUE/false设置线程池关闭时间等待所有任务完成再继续销毁其他bean) 、initialize 实例化后返回实例。

重写getAsyncUncaughtExceptionHandler()方法

在application类中 加EnableAsync注解

 

如需等待异步返回结果

则需引入org.springframework.scheduling.annotation.AsyncResult以及util.concurrent.Future

异步服务返回值Future<集合>

 

异步等待关键词

CountDownLatch、CyclicBarrier、Semaphore

 

posted @ 2019-02-13 10:06  老小包的博客  阅读(119)  评论(0编辑  收藏  举报