社区
Web 开发
帖子详情
spring事务嵌套回滚问题
wuminkangta
2015-08-13 04:09:38
不知为何,感觉是否是配置文件自动给service加了事务,但是看了配置文件,没有这种配置。还有没有什么其他可能性。
...全文
368
2
打赏
收藏
spring事务嵌套回滚问题
不知为何,感觉是否是配置文件自动给service加了事务,但是看了配置文件,没有这种配置。还有没有什么其他可能性。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lcfengyun
2015-08-13
打赏
举报
回复
加上@Transactional,声明这个方法需要事务管理。在方法开始时就会打开一个事务。
HinanaiTenshi
2015-08-13
打赏
举报
回复
明明整个方法都挂着事物的啊....
Spring
嵌套
事务
回滚
的
问题
目录
Spring
嵌套
事务
回滚
的
问题
问题
描述 项目背景:
问题
重现 1.
Spring
的声明
事务
2.
事务
的事件处理逻辑 3.实际业务Service层方法 4.Druid数据源的配置 5.测试执行 日志分析 分析
问题
产生的原因 总结
Spring
的
事务
代码分析
Spring
的
事务
传播类型总结 新的
问题
方案1 方案2
Spring
嵌套
事务
回滚
的
问题
问题
描述 线上的项目出现,
Spring
的
事务
回滚
了,但仍触发了
事务
提交成功的事件。这就导致原先通过异
Spring
中解决Aop
事务
嵌套
回滚
问题
今天被坑了,这是部分代码 //组装操作日志 这个增强里面后面的两个参数必须一样,为函数执行后返回的结果 @AfterReturning(value="addLog()",argNames="rtv",returning="rtv") public void packLogs(JoinPoint joinPoint,Object rtv) throws Throwable {
嵌套
事务
的内层
事务
方法被try catch捕获,但是依然导致外部
事务
的
回滚
问题
导致这个
问题
的重点是需要李姐
嵌套
事务
中的
事务
默认传播特性 ,方法A 执行的所有数据全部
回滚
,我们可以知道,是 方法A 上标识的 @Transactional 准备别
事务
管理器切面检测到了,才会导致 方法A
事务
全部
回滚
。 可是报错明明在 方法B ,为什么会导致 方法A 的
事务
回滚
呢?我们都知道,@Transactional
事务
的默认传播机制是 Propagation.REQUIRED,即:若有
事务
,则复用,没有则创建一个。 所以 方法A 和 方法B
事务
是同一个
事务
,在 方法B 执行的异常在catch住
Spring
事务
嵌套
导致的异常,Transaction rolled back because it has been marked as rollback-only
吾日三省吾身 Transaction rolled back because it has been marked as rollback-only 1. 原因 线上故障,后来定位异常,最终发现是
spring
事务
嵌套
的导致的,特此记录 之前同事写的上传文件模块,因为涉及到上传到neo4j图形数据库,上传会比较慢,所以逻辑是这样处理的 上传后异步执行保存数据 保存成功后把操作记录的状态改...
Spring
事务
嵌套
和异常捕获的
问题
和解决方案
事务
嵌套
和异常捕获的
问题
和解决方案1. 无
嵌套
的正常
事务
2. 方法A调用带
事务
的方法B3. 加入异常捕获处理的
事务
4.
事务
回滚
的注意事项 1. 无
嵌套
的正常
事务
public class C{ @Transactional public void a(){ //TODO } } 【结论】:出现异常,正常
回滚
。 原因:
事务
的 ACID 特性中的 C,Consistency 一致性,
事务
内有操作失败时则数据将全部
回滚
到修改前的状态。 2. 方法A调用带
事务
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章