当前位置: 首页 > news >正文

javaee 事务的传播行为

事务的传播行为

事务的第一个方面是传播行为(propagation behavior)。当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。Spring定义了七种传播行为:

传播行为
含义

PROPAGATION_REQUIRED
表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务

PROPAGATION_SUPPORTS propagation_supports
表示当前方法不需要事务上下文,但是如果存在当前事务的话,那么该方法会在这个事务中运行

PROPAGATION_MANDATORY
表示该方法必须在事务中运行,如果当前事务不存在,则会抛出一个异常

PROPAGATION_REQUIRED_NEW
表示当前方法必须运行在它自己的事务中。一个新的事务将被启动。如果存在当前事务,在该方法执行期间,当前事务会被挂起。如果使用JTATransactionManager的话,则需要访问TransactionManager

PROPAGATION_NOT_SUPPORTED
表示该方法不应该运行在事务中。如果存在当前事务,在该方法运行期间,当前事务将被挂起。如果使用JTATransactionManager的话,则需要访问TransactionManager

PROPAGATION_NEVER
表示当前方法不应该运行在事务上下文中。如果当前正有一个事务在运行,则会抛出异常

PROPAGATION_NESTED
表示如果当前已经存在一个事务,那么该方法将会在嵌套事务中运行。嵌套的事务可以独立于当前事务进行单独地提交或回滚。如果当前事务不存在,那么其行为与PROPAGATION_REQUIRED一样。注意各厂商对这种传播行为的支持是有所差异的。可以参考资源管理器的文档来确认它们是否支持嵌套事务

http://www.lryc.cn/news/158871.html

相关文章:

  • C#-SQLite-使用教程笔记
  • Tomcat详解 一:tomcat的部署
  • 算法 - 二分
  • 蠕虫病毒问题
  • pytest笔记2: fixture
  • day55 补
  • CSS变量之var()函数的应用——动态修改样式 root的使用
  • 索尼 toio ™应用创意开发征文|一个理想的绘画小助手
  • java加密,使用python解密 ,使用 pysm4 报 byte greater than 16的解决方法
  • django后台启动CORS跨越配置
  • 异常的顶级理解
  • LinkedHashMap实现LRU缓存cache机制,Kotlin
  • Google 开源库Guava详解(集合工具类)
  • Ansys Zemax | 如何将光线追迹结果导出为IES格式
  • JSONObject 比 Map好使的地方
  • [js] 图解 event.pageX event.clientX event.offsetX getBoundingClientRect
  • VsCode备忘
  • Linux命令200例:Yum强大的包管理工具使用(常用)
  • 使用 Linux 相关知识部署博客系统
  • Linux--进程--vfork与fork区别
  • Ubuntu系统重装nvidia gpu驱动
  • Java + Selenium + Appium自动化测试
  • 【sgLazyCascader】自定义组件:基于el-cascader的懒加载级联菜单,支持异步加载子级菜单
  • 2023高教社杯数学建模E题思路模型 - 黄河水沙监测数据分析
  • 一、Linux下常用的压缩格式
  • MySQL 查询 - 排除某些字段的SQL查询,提升查询性能
  • 国产信创服务器如何进行安全可靠的文件传输?
  • ARTS第五周:S - 数据编织 Data fabric
  • 基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平教程
  • Spring Boot 介绍