本文是<实现 Spring 的事务控制>系列文章中一篇。本文假设读者已经阅读并理解《实现 Spring 的事务控制,之一(必要的概念)》文中所涉及的概念(当前连接、引用计数),以及数据库连接的(new状态)
PROPAGATION_SUPPORTS(跟随环境)
定义:
是指 Spring 容器中如果当前没有事务存在,就以非事务方式执行;如果有就使用当前事务。
解释:
SUPPORTS 行为是 Spring 事务传播属性中最简单的一种行为。SUPPORTS 行为本质上强调了“不作为”。如下图:
似乎我不需要多解释这张图后面的工作原理,大家只要记得。无论是什么行为下,开启事务和递交事务都会对当前连接的引用计数有++ -- 操作就可以了。
SUPPORTS 行为带给我们的结果是,如果当前环境中存在事务,那么就用这个环境的事务。否则就什么都不用。这种行为下不会对事务进行任何操作。
来源:oschina
链接:https://my.oschina.net/u/1166271/blog/200384