不久前,为了避免事务的嵌套,刻意去修改以前的设计,导致各部分之间经常出现职责的混淆和重复,颇为头痛.今天在一篇名为《解惑 spring 嵌套事务》文章中找到了答案.
原因出在没有能够深刻理解事务声明中不同事务传播属性配置的的含义.原来想象是这样的(见下面示例代码),serviceA和ServiceB的所有方法都被配置声明事务,当serviceA的方法调用ServiceB的方法,我便"顺理成章"的认为methodA和methodB都各自有自己的事务,这会带来两个问题:1)性能下降;2)methodB事务提交后,methodA因异常而回滚,methodB去无法回滚.
ServiceA { /** * 事务属性配置为 PROPAGATION_REQUIRED */ void methodA() { ServiceB.methodB(); } } ServiceB { /** * 事务属性配置为 PROPAGATION_REQUIRES_NEW */ void methodB() { } }
如果理解了事务传播属性的含义就不会出现这样的误解.见下方解释:
PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 |
其实若事务传播属性配置为PROPAGATION_REQUIRED,上例中的问题根本不会出现.因为根据上方的解释,当methodB执行的时候,当前线程已经开始了一个事务,所以methodB是不会产生新的事务,也就意味着随之而来的两个问题是不存在的.除非对methodB使用了PROPAGATION_REQUIRES_NEW的配置,才会使得methodB有自己的事务.
关于PROPAGATION_NESTED所指的嵌套,还请参见《解惑 spring 嵌套事务》.
相关推荐
【GO】关于一个分布式事务的中间件,目前通信是走的http协议_pgj
2024免费毕业设计成品,包括源码+数据库+往届论文资料 录屏:https://www.bilibili.com/video/BV1Rb421H7AA 启动教程:https://www.bilibili.com/video/BV11ktveuE2d 讲解视频:https://www.bilibili.com/video/BV1YfkHYwEME 二次开发教程:https://www.bilibili.com/video/BV1Cw2rY1ErC
"相场锂枝晶与温度场:微观与宏观的交互影响研究",相场锂枝晶—温度场 ,相场锂枝晶; 温度场; 锂枝晶生长; 温度变化; 生长过程控制; 结构变化,相场锂枝晶与温度场交互研究
FLAC3D 7.0:修正剑桥模型下的固结排水三轴试验研究与应用,flac3d7.0 修正剑桥模型,固结排水三轴试验 ,核心关键词:flac3d7.0; 修正剑桥模型; 固结排水三轴试验;,FLAC3D 7.0优化剑桥模型:固结排水三轴试验的修正
基于卷积神经网络与门控循环单元的深度学习模型:融合SE注意力机制的数据回归预测(CNN-GRU-SE机制)在MATLAB环境下的应用与评价指标R2、MAE、MBE及RMSE分析。,基于卷积神经网络-门控循环单元结合SE注意力机制的数据回归预测(CNN-GRU-SE) 基于MATLAB环境 替自己的数据即可 数据回归预测评价指标为R2 MAE MBE RMSE ,核心关键词:卷积神经网络; 门控循环单元; SE注意力机制; 数据回归预测; MATLAB环境; R2; MAE; MBE; RMSE,基于SE注意力机制的CNN-GRU混合模型在MATLAB中的数据回归预测
项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea
Java弹球小游戏.zip毕设案例程序资源
【Python】毕业设计项目,基于深度学习的实时语义分割算法研究,python实现
内容概要:该论文探讨了通过融合生物医学文本挖掘及先进的知识图谱补全模型来为新冠肺炎寻找新用途药物的方法。研究者采用了神经网络方法从大量文献中提取有价值的语义三元组并构建一个大型知识图谱,在此基础上应用最新的嵌入技术和模式发现手段。此外,文中还进行了广泛的对比实验和性能评估,提出了几个有潜力的新药如紫杉醇(Paclitaxel),SB 203580 和抗纤溶素(α2-Antiplasmin),并对它们的作用机制进行了理论分析。这表明文献为基础的知识发现可以作为辅助药物筛选的有效工具。 适合人群:对生物医药大数据、人工智能、特别是机器学习应用于医学研究感兴趣的研究人员及专业人士。 使用场景及目标:该方法不仅可以快速确定可能有效的治疗新冠肺炎的新用途药物,还可以通过提供详细的分子机制解释帮助临床验证阶段的决策支持。这种创新性计算方法同样适用于其他疾病领域内的药物重定位任务。 其他说明:该研究展示了如何有效整合大规模非结构化医疗数据与现有生物数据库之间的关联信息,从而加速科学研究进程。然而作者指出未来需要进一步扩大样本量进行实证检验,并且考虑引入更多维度的数据集以完善预测准确性。此外,为了便于后续研究和技术交流,相关源代码已经发布到了GitHub平台。
前端Node:第四章:大事件
项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea
仿真 java单机小游戏程序资源实践案例学习资源
# 基于Java Swing的水果管理系统 ## 项目简介 本项目是一个基于Java Swing库开发的水果管理系统,主要用于管理水果的库存信息。系统提供了查看、修改、添加和删除水果信息的功能,适用于小型水果店的库存管理。 ## 项目的主要特性和功能 1. 水果信息管理 查看水果的详细信息,包括图片链接、名称、价格和库存。 修改现有水果的价格和库存信息。 添加新的水果到系统中。 删除不再销售的水果。 2. 用户界面 使用Java Swing库构建图形用户界面,界面分为四个主要部分中心(显示水果信息)、南部(显示制作信息)、西部(显示页码和翻页按钮)和北部(操作按钮)。 东部使用卡片布局,根据用户的选择切换不同的操作面板(查看、修改、添加、删除)。 3. 数据处理 使用DecimalFormat类格式化价格和库存数据,确保显示的数值保留两位小数。
基于动态控制策略的光伏混合储能直流微网系统功率共享技术研究,光伏混合储能直流微网 基于动态演化控制的混合储能系统功率共享方法 A Dynamic Evolution Control Based PowerSharing Method for Hybrid Energy StorageSystem lunwen复现 直流母线电压不随光伏强度、负载变化发生改变,维持在50v ,光伏混合储能; 直流微网; 动态演化控制; 功率共享方法; 直流母线电压稳定(50v); 混合储能系统。,光伏微网下混合储能动态控制策略研究
本项目是自己做的设计,有GUI界面,完美运行,适合小白及有能力的同学进阶学习,大家可以下载使用,整体有非常高的借鉴价值,大家一起交流学习。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。
# 基于PythonOpenCV的津南数字制造图像识别系统 ## 项目简介 本项目是一个基于Python和OpenCV库的图像识别系统,主要用于津南数字制造算法挑战赛中处理图像数据。项目包含多个部分,如图像处理、目标检测、模型训练与评估等,旨在通过计算机视觉技术识别图像中的特定目标。 ## 项目的主要特性和功能 1. 图像处理与标注项目提供了图像处理功能,包括图像读取、滤波、颜色空间转换等,以及基于json格式的图像标注信息,支持图像和标注信息的关联。 2. 目标检测使用图像处理技术,如边缘检测、颜色过滤和形态学操作,对图像中的目标进行识别。 3. 模型训练与评估构建和训练卷积神经网络(CNN)模型,用于图像分类任务。同时,提供模型评估功能,用于评估模型的性能。 4. 结果提交与保存项目提供了结果提交和保存功能,将处理结果以JSON格式保存,方便后续处理和分析。 ## 安装使用步骤
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
基于FPGA的Verilog语言实现FOC控制:三相永磁同步与异步电机的开环闭环PI控制策略,FPGA_Verilog语言_FOC控制三相永磁同步 异步电机_开环 闭环控制_PI控制 ,FPGA; Verilog语言; FOC控制; 三相永磁同步电机; 异步电机; 开环控制; 闭环控制; PI控制,FPGA实现Verilog编程,FOC控制三相永磁同步/异步电机:开环与闭环PI控制
《基于Omron欧姆龙PLC技术的温室大棚自动控制系统的设计与实现》,No.1072 基于Omron欧姆龙PLC的温室大棚自动控制系统的设计 ,Omron PLC; 温室大棚; 自动控制系统; 设计; No.1072,基于Omron PLC的温室大棚自动化控制系统设计 No.1072
大厂标准PCSS储能系统仿真模型源代码实现,大厂量产的PCS储能仿真模型 源代码实现的仿真模型 ,大厂; 量产; PCS储能; 仿真模型; 源代码实现; 模型; 能量存储,大厂量产PCS储能模型源代码实现