ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pring配置中的tx:advice标签简介

2019-04-06 14:37:36  阅读:272  来源: 互联网

标签:事务 tx 16 标签 advice pring 回滚 异常 属性


正如在代码清单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列表中的任何运行

时异常都会导致回滚

 

原文:https://blog.csdn.net/shehun11/article/details/38000325

标签:事务,tx,16,标签,advice,pring,回滚,异常,属性
来源: https://www.cnblogs.com/anyiz/p/10661661.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有