开发者社区> 问答> 正文

Spring Transational注解嵌套问题

如果A,B方法有Transational注解(没有额外属性) A调用B时,B发生异常,A捕获并处理,是否回导致事务回滚 这里A调用B时,由于已经存在事务,因此B不会创建新事务,但B异常时,会否导致A的异常回滚。我这里遇到一个问题貌似是这个导致的,有木有熟悉JTA和Spring的高手解答一下

展开
收起
a123456678 2016-03-17 11:39:58 3299 0
1 条回答
写回答
取消 提交回答
  • 具体看你配置怎么配了,参考如下事务的几种传播特性:

    1、PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启。
    2、PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。
    3、PROPAGATION_MANDATORY:如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
    4、PROPAGATION_REQUIRES_NEW:总是开启一个新的事务。如果一个事务存在,则将这个存在的事务挂起。
    5、PROPAGATION_NOT_SUPPORTED:总是非事务地执行,并挂起任何存在的事务。
    6、PROPAGATION_NEVER:总是非事务地执行,如果存在一个活动事务,则抛出异常。
    7、PROPAGATION_NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中,如果没有活动事务,则按TransactionDefinition.PROPAGATION_REQUIRED属性执行

    2019-07-17 19:04:59
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多