1. 首页
  2. 编程语言
  3. Java
  4. SpringMVC异步处理操作(Callable和DeferredResult)

SpringMVC异步处理操作(Callable和DeferredResult)

上传者: 2022-05-01 06:01:19上传 PDF文件 254.36 KB 热度 12次

主线程会提前返回,可以处理其他请求,等待有结果之后再输出结果一旦启用了异步请求处理功能 ,控制器就可以将返回值包装在DeferredResult,控制器可以从不同的线程异步产生返回值。定义一个类来监听订单是否处理完,如果处理完了的话就设置deferredResultHolder中的DeferredResult的值,就会返回结果了。但是tomcat等中间件,它们可以管理的线程数是有限的,当数量达到一定程度之后,再有请求进入,会被阻塞掉。使用异步返回,需使在web.xml将version配置为3.0版本的。在servlet及所有的filter中配置异步支持。这种业务情况,单开一个线程是无法解决的,需要使用DeferredResult类。

用户评论