脱离 Spring 实现复杂嵌套事务,之五(SUPPORTS

杀马特。学长 韩版系。学妹 提交于 2019-11-26 19:26:46

    本文是<实现 Spring 的事务控制>系列文章中一篇。本文假设读者已经阅读并理解《实现 Spring 的事务控制,之一(必要的概念)》文中所涉及的概念(当前连接引用计数),以及数据库连接的(new状态

PROPAGATION_SUPPORTS(跟随环境)

定义:

    是指 Spring 容器中如果当前没有事务存在,就以非事务方式执行;如果有就使用当前事务。

解释:

    SUPPORTS 行为是 Spring 事务传播属性中最简单的一种行为。SUPPORTS 行为本质上强调了“不作为”。如下图:

    似乎我不需要多解释这张图后面的工作原理,大家只要记得。无论是什么行为下,开启事务和递交事务都会对当前连接的引用计数有++ -- 操作就可以了。

    SUPPORTS  行为带给我们的结果是,如果当前环境中存在事务,那么就用这个环境的事务。否则就什么都不用。这种行为下不会对事务进行任何操作。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!