当前位置:网站首页>事务的七种传播行为
事务的七种传播行为
2022-07-07 10:41:00 【白羊座橙子的学习笔记】
一、什么是事务的传播行为
事务的传播行为指的是: 当一个事务方法被另一个事务方法调用时,这个事务方法应该如何运行。
例如:methodA方法调用methodB方法时,methodB是继续在调用者A的事务中运行呢,还是为自己开启一个新事务运行。这就是由methodB的事务传播行为决定的。
二、事务的七种传播行为
1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务;如果当前存在事务,就加入改事务(这是最常见的选择)
2、PROPAGATION_SUPPORTS:如果当前存在事务,就加入该事务;如果当前不存在事务,就以非事务执行
3、PROPAGATION_MANDATORY:如果当前存在事务,就加入该事务;如果当前不存在事务,就抛出异常
4、PROPAGATION_REQUIRES_NEW:无论当前存不存在事务,都创建新事务
5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起
6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常
7、PROPAGATION_NESTED:
三、上面一些概念的理解
1、事务挂起
例如 方法A支持事务,方法B不支持事务,方法A调用方法B
在方法A开始运行时,系统为它建立Transaction,方法A中对于数据库的处理操作,会在该Transaction的控制之下。这时,方法A调用方法B,方法A打开的 Transaction将挂起,方法B中任何数据库操作,都不在该Transaction的管理之下。当方法B返回,方法A继续运行,之前的Transaction回复,后面的数据库操作继续在该Transaction的控制之下 提交或回滚。
边栏推荐
猜你喜欢
Day-19 IO stream
Leetcode skimming: binary tree 23 (mode in binary search tree)
数据库安全的重要性
leetcode刷题:二叉树26(二叉搜索树中的插入操作)
ACL 2022 | small sample ner of sequence annotation: dual tower Bert model integrating tag semantics
Leetcode brush questions: binary tree 19 (merge binary tree)
Master公式。(用于计算递归的时间复杂度。)
Leetcode skimming: binary tree 27 (delete nodes in the binary search tree)
ICLR 2022 | pre training language model based on anti self attention mechanism
2022 polymerization process test question simulation test question bank and online simulation test
随机推荐
2022 polymerization process test question simulation test question bank and online simulation test
【二叉树】删点成林
Day-24 UDP, regular expression
智云健康上市:市值150亿港元 SIG经纬与京新基金是股东
Error in compiling libssl
Financial data acquisition (III) when a crawler encounters a web page that needs to scroll with the mouse wheel to refresh the data (nanny level tutorial)
[pytorch practice] use pytorch to realize image style migration based on neural network
About IPSec
Multi row and multi column flex layout
NPM instal reports agent or network problems
Realize all, race, allsettled and any of the simple version of promise by yourself
在字符串中查找id值MySQL
IPv6 experiment
ip2long与long2IP 分析
达晨与小米投的凌云光上市:市值153亿 为机器植入眼睛和大脑
【PyTorch实战】用PyTorch实现基于神经网络的图像风格迁移
leetcode刷题:二叉树19(合并二叉树)
[learn micro services from 0] [02] move from single application to service
leetcode刷题:二叉树26(二叉搜索树中的插入操作)
Airserver automatically receives multi screen projection or cross device projection