spring异步机制

近期在组内做了一次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配置

配置类方法

@Configuration 
@EnableAsync  
public class SpringAsyncConfig { ... }

xml配置方法

<!--开启注解调度支持 @Async-->
<task:annotation-driven executor="executor" proxy-target-class="true"/>
<!-- 任务执行器 -->
<task:executor id="executor" pool-size="1-10" keep-alive="1000" queue-capacity="10" rejection-policy="CALLER_RUNS"/>

参数解析:

<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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值