zoukankan      html  css  js  c++  java
  • JavaEE——Spring4--(10)Spring 事务的属性(传播属性,隔离级别,回滚,只读,过期)

    1、传播属性:当事务方法被另一个事务方法调用时, 必须指定事务应该如何传播.

    REQUIRED 传播行为  默认的
    当 bookService 的 purchase() 方法被另一个事务方法 checkout() 调用时, 它默认会在现有的事务内运行. 这个默认的传播行为就是 REQUIRED. 因此在 checkout() 方法的开始和终止边界内只有一个事务. 这个事务只在 checkout() 方法结束的时候被提交, 结果用户一本书都买不了
    事务传播属性可以在 @Transactional 注解的 propagation 属性中定义

    REQUIRES_NEW 传播行为
    它表示该方法必须启动一个新事务, 并在自己的事务内运行. 如果有事务在运行, 就应该先挂起它.

    2、隔离级别

    用 @Transactional 注解声明式地管理事务时可以在 @Transactional 的 isolation 属性中设置隔离级别.

    3、回滚  通常取默认值即可

    默认情况下只有未检查异常(RuntimeException和Error类型的异常)会导致事务回滚. 而受检查异常不会.
    事务的回滚规则可以通过 @Transactional 注解的 rollbackFor 和 noRollbackFor 属性来定义.

    4、只读 使用readOnly设置

    表示这个事务只读取数据但不更新数据, 这样可以帮助数据库引擎优化事务.

    5.过期 使用timeout指定强制回滚之前事务可以 占用的时间

  • 相关阅读:
    .NET的DTO映射工具AutoMapper
    使用TeamCity对项目进行可持续集成管理
    SpecFlow
    重构--改善既有代码的设计
    EntityFramework 7 开发纪录
    Solr索引
    DDD分层架构之值对象(层超类型篇)
    C#异步Socket示例
    Cnblogs API
    白鸦三次创业反思:公司遇问题 怎么走都对(转)
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/8306532.html
Copyright © 2011-2022 走看看