《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列表中的任何运行

时异常都会导致回滚

最新文章

  1. 玩QQ游戏,见到好几个图像是美女的QQ,就不始玩
  2. Python 写Windows Service服务程序
  3. StringBuilder和Append的一个程序及一个基础概念
  4. EncryptionHelper
  5. android102 查询,插入联系人
  6. Shell continue循环
  7. 在输出视图中使用使用html注释会导致在Chrome中css失效
  8. HTML5 总结-视频-1
  9. 50、html补充
  10. JSP页面中的pageEncoding和contentType的区别
  11. PO,VO,TO,BO,DAO,POJO的解释
  12. day19
  13. docx httpheader头设置
  14. FAT文件系统规范v1.03学习笔记---1.保留区之 Fat32 FSInfo扇区结构和备份启动扇区
  15. git心得与总结
  16. JMeter 聚合报告 90%响应时间
  17. 【Java】-NO.12.Java.2.OCJP.1.001-【Java OCJP】-
  18. Window环境下RabbitMQ 添加用户、设置角色和权限
  19. mysql8.0 Authentication plugin &#39;caching_sha2_password&#39; cannot be loaded
  20. php rabbitmq的扩展

热门文章

  1. Java垃圾收集算法
  2. Python3 shelve模块(持久化)
  3. centos7安装libvirt支持xen
  4. 函数导出在kvm_intel.ko,kvm.ko不共享
  5. android 内核调试
  6. c++设计模式系列----builder模式
  7. android 与JS之间的交互
  8. docker基于本地模版导入创建镜像
  9. 《逐梦旅程 WINDOWS游戏编程之从零开始》笔记8——载入三维模型&amp;Alpha混合技术&amp;深度测试与Z缓存
  10. C# 实现动态添加列,新增合计行,求和