开发者社区> 问答> 正文

[@炯轩][¥20]Spring事务的传播特性

Spring事务的传播特性

展开
收起
jack胡 2018-12-17 17:04:04 2327 0
1 条回答
写回答
取消 提交回答
  • 事务的第一个方面是传播行为。传播行为定义关于客户端和被调用方法的事务边界。Spring定义了7中传播行为。
    传播行为:
    PROPAGATION_MANDATORY: 表示该方法必须运行在一个事务中。如果当前没有事务正在发生,将抛出一个异常
    PROPAGATION_NESTED: 表示如果当前正有一个事务在进行中,则该方法应当运行在一个嵌套式事务中。被嵌套的事务可以独立于封装事务进行提交或回滚。如果封装事务不存在,行为就像PROPAGATION_REQUIRES一样。
    PROPAGATION_NEVER: 表示当前的方法不应该在一个事务中运行。如果一个事务正在进行,则会抛出一个异常。
    PROPAGATION_NOT_SUPPORTED: 表示该方法不应该在一个事务中运行。如果一个现有事务正在进行中,它将在该方法的运行期间被挂起。
    PROPAGATION_SUPPORTS: 表示当前方法不需要事务性上下文,但是如果有一个事务已经在运行的话,它也可以在这个事务里运行。
    PROPAGATION_REQUIRES_NEW: 表示当前方法必须在它自己的事务里运行。一个新的事务将被启动,而且如果有一个现有事务在运行的话,则将在这个方法运行期间被挂起。
    PROPAGATION_REQUIRES: 表示当前方法必须在一个事务中运行。如果一个现有事务正在进行中,该方法将在那个事务中运行,否则就要开始一个新事务。

    2019-07-17 23:22:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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

相关实验场景

更多