spring-mvc - spring mvc中如何实现异步请求的功能?

查看:91
本文介绍了spring-mvc - spring mvc中如何实现异步请求的功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

求解,如何通过spring mvc实现异步请求的功能,根据网上查询的结果并不能保证事务在多线程下的正确执行,因为假如业务中有对同一个表数据进行修改的操作,那么多线程造成的后果将是数据不能达到预期想要的结果。

解决方案

你提到的关于事务的问题我觉得对也不对。原因有两点:

  1. 假设你就是传统的Spring MVC程序,没有使用异步特性,那么也一样存在多线程修改数据的问题。只需要并发请求就行了。
  2. 事务是利用Thread Local来运作的,因此如果你的事务在A线程里发起了B线程去修改数据,那么事务只能控制到A,不能控制到B,也就是说事务此时是无效的。

所以使用Spring MVC的异步特性未必会造成事务无效,只要保证事务所关心的代码执行在相同线程里就不会有问题。

这篇关于spring-mvc - spring mvc中如何实现异步请求的功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆