这篇文章主要介绍SpringMVC如何使用DeferredResult进行异步处理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
使用 DeferredResult 进行异步处理
DeferredResult 这个类代表延迟结果。DeferredResult 可以用在异步任务中,其他线程能够获取DeferredResult并设置DeferredResult 的返回数据。通常可以使用线程池、队列等配合DeferredResult 实现异步处理。
根据官方描述,Spring MVC 处理流程如下:
把 controller 返回的 DeferredResult 保存在内存队列或集合当中;
Spring MVC 调用 request.startAsync(),开启异步;
DispatcherServlet 和所有的 Filter 退出当前请求线程;
业务应用在异步线程中设置 DeferredResult 的返回值, Spring MVC 会再次发送请求;
DispatcherServlet 再次被调用,并使用 DeferredResult 的返回值;
以上是“SpringMVC如何使用DeferredResult进行异步处理”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!