`
zuimeitulip
  • 浏览: 59799 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

出现小bug,以此警戒

 
阅读更多

异常Transaction rolled back because it has been marked as rollback-only  

 

 
 
今天系统中突然出现了下面这个异常:

org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only。

然后跟踪到代码里面去看了下,伪代码大致如下:
begin transaction;
for(……)
{
    doSomething();//抛出了异常或者明确设置了事务为RollbackOnly
}
commit;
end;

doSomething()伪代码:
try
{
         
begin transaction;
          /**  do anything  */
          commit;
          end;

}
catch()
{
}


分析原因:
这个是一个事务嵌套事务的例子,在spring里面我们配置了
事务的传播机制是REQUIRED,所以这两个事务最终会合并成一个事务。程序中doSomething()中由于某某原因导致抛出异常(或者明确将该事务设置为了RollbackOnly),但是由于其内部已经捕获了这个异常,所以不会影响外面for循环的继续执行,当外面的for循环继续执行完 且准备提交(commit)这个事务时,发现之前这个事务的状态位已经被设置为了RollbackOnly,此时spring就会抛出一个ransaction rolled back because it has been marked as rollback-only。
解决方法:我是把主方法中的事物去掉,调用方法的事物不变,形成局部的事物回归。
分享到:
评论

相关推荐

    bugfree bugfree bugfree bugfree bugfree

    bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree bugfree

    Bug报告模板.docx

    出现频率是指 Bug 的出现频率和可能性。这份信息非常重要,因为它可以帮助开发团队评估 Bug 的影响范围和可能性,从而更好地确定处理优先级。 状态 状态是指 Bug 的当前处理状况。这份信息非常重要,因为它可以帮助...

    bugfree,bug管理

    BugFree是一款开源的缺陷跟踪系统,专为程序代码的bug管理设计,旨在简化软件开发和测试过程中的问题追踪。在软件开发中,bug是不可避免的,BugFree提供了一个高效的平台来记录、跟踪、修复这些问题,确保项目的顺利...

    bugfree2.0软件测试bug管理工具

    BugFree 2.0 是一款专为软件测试而设计的开源Bug管理工具,它提供了高效、易用且灵活的环境来跟踪和管理软件开发过程中的缺陷。这款工具旨在帮助开发团队更好地协调工作,确保产品质量,减少错误并提高整体开发效率...

    软件测试bug统计分析图表

    4. **预测未来趋势**:基于历史数据的分析,可以预测未来的bug出现模式,提前做好预防措施,减少后期维护成本。 ### 三、如何创建有效的bug统计分析图表 1. **定义关键指标**:确定哪些类型的bug需要被统计,如按...

    禅道,BUG提交工具

    例如,需求管理允许团队清晰地定义产品需求,避免在开发过程中出现理解偏差;任务管理则有助于分解大项目为小任务,分配给团队成员,提高工作效率。测试用例管理功能让测试过程规范化,确保测试覆盖率。 在使用禅道...

    bug定义和返工率计算统计方法

    bug 定义是指在软件开发过程中出现的错误或缺陷,包括高级类、 中级类和低级类三个等级。高级类 bug 是指严重错误,如程序引起的死机、死循环、数据库死锁、存储业务逻辑错误和 SQL 语句性能或逻辑错误等。中级类 ...

    QQ飞车BUG小源码

    QQ飞车BUG小源码

    TFS Bug管理使用教程

    **TFS Bug 管理使用教程** 团队项目中的Bug管理是软件开发过程中的关键环节,确保产品质量和项目进度。微软的TFS(Team Foundation Server)提供了强大的Bug管理功能,与Visual Studio(VS)深度集成,同时支持Java...

    Bug处理流程规范

    本规范以“禅道”管理工具为依托,对研发过程中出现的 Bug 进行规范管理。禅道地址为http://192.168.1.11:88/zentao/user-login.html。研发人员及测试人员首次使用时,应及时修改密码并妥善保管密码。初始用户名与...

    BugFree3.0.4导出BUG操作步骤

    8. 导出BUG的最终格式:完成以上步骤后,BUG列表将以一种易于管理和查看的形式出现在Excel表格中,方便进行后续的数据分析和报告生成工作。 总结以上步骤,BugFree3.0.4导出BUG操作是一个涉及Web后台管理、数据格式...

    微信小程序开发附源码:关于微信小程序bug记录与解决方法.doc

    在微信小程序开发过程中,开发者经常会遇到各种bug,这些bug可能在开发工具中表现良好,但在实际设备上却会出现意想不到的问题。以下是一些常见的微信小程序bug及其解决方案。 1. **textarea的padding问题**: ...

    bug管理的小工具,助于对发现的bug进行分类和整理

    5. **分析与优化**:定期查看bug报告,分析bug产生的原因和趋势,以此优化开发流程,减少bug的产生。 综上所述,一个有效的bug管理工具对于任何软件开发团队都是至关重要的。它不仅可以帮助团队有序地处理bug,还...

    BUG记录模版(带汇总、统计、分析功能)

    在软件开发过程中,BUG记录模版是至关重要的工具,它帮助团队系统地追踪、记录、汇总和分析软件中的错误或缺陷。"BUG记录模版(带汇总、统计、分析功能)"是一个专门设计用于提高缺陷管理效率的文档模版,旨在为开发...

    版本验收与放行标准,主要明确了软件测试中对BUG等级的制定与分析

    2. 严重级别(2 级 BUG):系统功能出现严重错误,严重影响系统运行和用户使用,但无需重启系统就可以恢复或者无法自行恢复,但对系统影响相对较小的故障。 3. 一般级别(3 级 BUG):系统功能实现上出现错误,导致...

    小程序遇到的奇怪bug.txt

    原生小程序开发过程中遇到的奇怪bug以及解决方案

    bug反馈表模板

    供测试使用,反馈bug模板,参考Bug解决描述Bug关闭描述(bug关闭之后由测试人员填写

    bugfree中的bug导出、导入功能

    《Bugfree中的Bug导出与导入功能详解》 在软件开发过程中,Bug管理是一项至关重要的任务,它确保了代码质量的提升和项目进度的顺利进行。Bugfree是一款优秀的开源缺陷跟踪系统,它提供了便捷的Bug管理功能,包括Bug...

Global site tag (gtag.js) - Google Analytics