- Spring对事物的控制的支持统一在TransactionDefinition中。
- 事物的传播行为是靠Spring自身的框架提供的功能,其他都是依赖于底层资源的功能来完成的
- 事物的传播行为:多个事物方法相互调用时事物如何在这些方法间怎么传播。
- Spring通过ThreadLocal将Bean无状态化,所以Spring中的单实例Bean对线程安全问题有了天生的免疫力,单实例的Service可以成功运行在多线程中,Service还可以自由的启动独立线程以执行其他Service。
在相同线程中进行相互嵌套调用的事物方法工作在相同的事物中,如果相互嵌套事务调用的方法工作在 不同的线程中,则不同线程中的方法工作在不同的事物中。
Spring AOP 事物的漏网之鱼
基于接口的动态代理:除public的其他关键字修饰的方法。
基于CGLIB的动态代理:private static final修饰的方法不能被增强。
- 不能被Spring事物增强(不能启动事物)的方法只要被外层的事物方法调用了,由于Spring的事物传播机制,也可以工作在外层启动的事物中。
事物传播机制深入
最新推荐文章于 2024-01-02 15:32:16 发布