事务管理配置指南.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ta+事务管理配置指南 目录 §1 概述 3 §2 基本概念 3 §3 应用指南 6 §3.1 编程式事务管理 6 §3.1.1 基于纯JDBC方式进行事务控制 6 §3.1.2 基于Spring底层?API?的编程式事务管理 8 §3.1.3 基于?TransactionTemplate?的编程式事务管理 9 §3.2 声明式事务管理 10 §3.2.1 基于TransactionInterceptor?的声明式事务管理 10 §3.2.2 基于?TransactionProxyFactoryBean??的声明式事务管理 12 §3.2.3 基于?tx?命名空间的声明式事务管理 13 §3.2.4 基于?@Transactional?的声明式事务管理 14 §3.3 Ta+中声明式事务配置参考 15 §3.4 Ta+中多数据源配置 16 §3.5 几种事务管理配置的总结 18 §3.6 选择编程式事务管理还是声明式事务管理 18 §3.7 与特定应用服务器集成 18 §3.7.1 IBM WebSphere 19 §3.7.2 BEA WebLogic 19 §3.7.3 Oracle OC4J 19 概述 本文档主要介绍各种Ta+项目开发中的事务管理配置说明。Ta+的事务管理是完全遵循Spring的事务管理规范的,有关Spring的事务管理说明,请参考Spring-Reference 2.5(第二部分 中间层数据访问 第9章 事务管理) 基本概念 声明式事务声明式事务(Programmatic transaction management)是Spring提供的对程序事务管理的方式之一。   Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,就是指在配置文件中申明。用在Spring配置文件中声明式的处理事务来代替代码式的处理事务。这样的好处是,事务管理不侵入开发的组件,具体来说,业务逻辑对象就不会意识到正在事务管理之中,事实上也应该如此,因为事务管理是属于系统层面的服务,而不是业务逻辑的一部分,如果想要改变事务管理策划的话,也只需要在定义文件中重新配置即可;在不需要事务管理的时候,只要在设定文件上修改一下,即可移去事务管理服务,无需改变代码重新编译,这样维护起来极其方便。   Spring使用AOP来完成声明式的事务管理,因而声明式事务是以方法为单位,Spring的事务属性自然就在于描述事务应用至方法上的策略,在Spring中事务属性有以下四个参数:   1.传播行为   2.隔离级别   3.只读提示 4.事务超时期间Spring?事务属性分析 事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作过程中机器突然出故障的情况,此时,事务就必须确保出故障前对账户的操作不生效,就像用户刚才完全没有使用过取款机一样,以保证用户和银行的利益都不受损失。 在?Spring?中,事务是通过?TransactionDefinition?接口来定义的。该接口包含与事务属性有关的方法。具体如清单1所示: 清单1. TransactionDefinition?接口中定义的主要方法 public interface TransactionDefinition{ int getIsolationLevel(); int getPropagationBehavior(); int getTimeout(); boolean isReadOnly(); } 也许你会奇怪,为什么接口只提供了获取属性的方法,而没有提供相关设置属性的方法。,事务属性的设置完全是程序员控制的,因此程序员可以自定义任何设置属性的方法,而且保存属性的字段也没有任何要求。唯一的要求的是,Spring?进行事务操作的时候,通过调用以上接口提供的方法必须能够返回事务相关的属性取值。事务隔离级别 隔离级别是指若干个并发的事务之间的隔离程度。TransactionDefinition?接口中定义了五个表示隔离级别的常量: TransactionDefinition.ISOLATION_DEFAULT:这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是TransactionDefinition.ISOLATION_READ_COMMITTED。 TransactionDefinition.ISOLATION_READ_UNCOMMITTED:该隔离级别表示一个事务可以读取另一个事务修改但还没有提交的数据。该级别不能防止脏读和不可重复读,因此很少使用该隔离级别。 TransactionDefi

您可能关注的文档

文档评论(0)

dsdmlwz1v9 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档