近期在组内做了一次spring的异步分享,将内容记录下来。
转载请注明出处:https://blog.csdn.net/dhtx_wzgl/article/details/85229397!
0、概念
1、spring异步实现
2、spring阻塞异步的使用
环境最低要求:spring3.2+(3.0开始支持服务层异步,3.2开始支持控制层异步)、servlet3.0+、tomcat7.0+、java6+
本文demo环境:spring5、servlet3.1、tomcat8、java8
建议环境:spring5、servlet3.1、tomcat8.5、java8
2.1 服务层异步
2.1.1 使用
1)、启动类或者配置类上加@EnableAsync,或者直接通过xml配置
配置类方法
|
xml配置方法
|
参数解析:
<task:annotation-driven/>
executor:指定一个缺省的executor给@Async使用
proxy-target-class:是否使用基于类的代理,默认为false
<task:executor/>
参数名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
id | string | 必填 | 线程池实例名,唯一标识 |
pool-size | string | 可选 | 值既可以是单值也可以是一个范围(m-n),如果任务队列无界,那么n无效,但是m=0时除外,此时,coresize=n,allowCoreThreadTimeout=true;当队列有界时,coresize=m,maxsize=n;默认值为coresize=1,maxsize=Integer.MAX_VALUE;当为单值时(pool-size="n"),coresize=n,maxsize=In |