zoukankan      html  css  js  c++  java
  • [转]tx:advice标签简介

     

    《Spring高级程序设计》第16章事务管理,通过本章的学习,你知道了如何使用Spring去管理事务,而这种方式几乎不会对你的源代码产生任何影响。你现在知道了如何使用本地和全局事务,并知道了如何用活动事务来同步你的代码。 本节为tx:advice标签简介。

    AD:

    16.6.3 tx:advice标签简介

    正如在代码清单16-23中所见,你需要在<tx:advice/>标签内设置id和transaction-manager属性。 id是该advice bean的标识,而transaction-manager则必须引用一个PlatformTransactionManager bean。

    除了这两个属性以外,你还可以通过<tx:attributes />标签定制<tx:advice />标签所创建的通知的行为。这可以让你对transactionAttributes属性表达式所支持的属性以更加结构化的方式进行配置。让我们 看看代码清单16-24,它展示了一个更复杂的<tx:advice />标签。

    代码清单16-24 一个更复杂的<tx:advice />标签

     

    我们的事务通知所开启的事务针对所有方法(只要方法名不以get开头)的传播为PROPAGATION_ REQUIRED隔离级别为READ_COMMITTED,超时为100 s。在这种情况下,事务定义将包括PROPAGATION_DEFAULT、ISOLATION_DEFAULT、TIMEOUT_DEFAULT,同时 read-only属性被设为true。在上面这两种情况下,任何运行时异常都会导致回滚。 

    正如你所见,凭借<tx:attributes />标签我们可以用更加简练的方式创建transactionAttributes属性表达式。此外,大多数IDE都提供了代码完成功能(参见图16-2)。

     

    <tx:attributes />标签只接受<tx:method />标签作为其子元素。表16-5详细说明了<tx:method />标签的属性。

    表16-5 <tx:method />标签的属性

    属性

    说明

    name

    方法名的匹配模式,通知根据该模式寻找匹配的方法。

    该属性可以使用asterisk (*)通配符

    propagation

    设定事务定义所用的传播级别

    isolation

    设定事务的隔离级别

    timeout

    指定事务的超时(单位为秒)

    read-only

    该属性为true指示事务是只读的(典型地,

    对于只执行查询的事务你会将该属性设为true,

    如果出现了更新、插入或是删除语句时只读事务就会失败)

    no-rollback-for

    以逗号分隔的异常类的列表,目标方法可以抛出

    这些异常而不会导致通知执行回滚

    rollback-for

    以逗号分隔的异常类的列表,当目标方法抛出这些

    异常时会导致通知执行回滚。默认情况下,该列表为空,

    因此不在no-rollback-for列表中的任何运行

    时异常都会导致回滚

  • 相关阅读:
    C语言:通过函数指针来完成两个数的加减乘除(函数指针当做参数使用)
    C语言:通过函数指针来完成两个数的加减乘除
    C语言:通过指针函数输出二维数组中每个学生的成绩
    C语言:通过指针对字符串进行拼接
    C语言:通过指针对数组元素进行排序
    C语言:通过返回指针的形式找出数组的最大值和最小值
    C语言:十进制进制转换为其他进制(思想:查表法)
    C语言:其他进制转换为十进制(方法二)
    C语言:其他进制数转换为十进制(方法一)
    socket programming Max size of tcp/ip socket Buffer?
  • 原文地址:https://www.cnblogs.com/ZhuRenWang/p/4792053.html
Copyright © 2011-2022 走看看