62.Spring多线程事务 能否保证事务的一致性(同时提交、同时回滚)?
- Spring的事务信息是存在ThreadLocal中的Connection, 所以一个线程永远只能有一个事务
- 所以Spring 的事务是无法实现事务一致性的
- 可以通过编程式事务,或者通过分布式事务的思路:二阶段提交方式
扩展小课堂
1. 事务原理
首先,我们先来大概的了解下Spring事务的工作原理,核心技术是通过AOP实现,将获取的Connection对象绑定到当前线程上下文中(ThreadLocal)。
事务核心拦截器TransactionInterceptor对象,如下(以下只会列出核心代码):
public class TransactionInterceptor {public Object invoke(MethodInvocation invocation)