- 个性化配置
<task:executor id="dopExecutor" pool-size="2-10" queue-capacity="100" rejection-policy="CALLER_RUNS"/>
<bean id="dopAsyncExceptionHandler" class="com.inspur.gcloud.dop.core.executor.DopExecutorExceptionHandler"/>
<task:annotation-driven executor="dopExecutor" exception-handler="dopAsyncExceptionHandler"/>
线程池的拒绝策略
rejection-policy=”CALLER_RUNS”,是如果队列满了,就用当前线程执行,默认的是拒绝直接跑错。
- 默认配置
<task:annotation-driven />
- 使用方法
@Async
public void method(){}
- 效果
对于一些可以异步执行的且耗时特别长的方法,使用这个注解,可以将该方法交给spring管理的线程池异步执行,从而减少主方法线程的等待时间,有良好的交互体验。