spring定时服务和事务管理培训

spring定时服务和事务管理培训

ID:8973544

大小:435.18 KB

页数:8页

时间:2018-04-13

spring定时服务和事务管理培训_第1页
spring定时服务和事务管理培训_第2页
spring定时服务和事务管理培训_第3页
spring定时服务和事务管理培训_第4页
spring定时服务和事务管理培训_第5页
资源描述:

《spring定时服务和事务管理培训》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、spring事务管理培训VOS项目陈冲目录1前言32事务管理32.1什么是事务32.2为什么需要事务42.3Java事务类型42.3.1JBDC事务42.3.2JTA(JavaTransactionAPI)事务42.3.3容器事务53VOS的事务应用53.1事务现状53.2事务配置53.2.1配置文件53.2.2事务说明63.3数据源配置73.3.1配置文件73.3.2数据源说明71前言本文档是描述vos中的事务管理方式,用于开发人员培训和交流,有不足之处还望谅解和指出。2事务管理2.1什么是事务事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者

2、全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。原子性:表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性:表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性:表示在事务执

3、行过程中对数据的修改,在事务提交之前对其他事务不可见。持久性:表示当系统或介质发生故障时,确保已提交事务的更新不能丢失。持久性通过数据库备份和恢复来保证。1.1为什么需要事务事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。具一个简单例子:比如银行转帐业务,账户A要将自己账户上的1000 元转到B账户下面,A账户余额首先要减去1000元,然后B账户要增加1000元。假如在中间网络出现了问题,A账户减去1000元已经结束,B因为网络中断而操作失败,那么整个业务失败,必须做出控制,要求A账户转帐业务撤销。这才能保证业务的正确性,完成这个操

4、走就需要事务,将A账户资金减少和B账户资金增加方到一个事务里面,要么全部执行成功,要么操作全部撤销,这样就保持了数据的安全性。1.2Java事务类型Java事务的类型有三种:JDBC事务、JTA(JavaTransactionAPI)事务、容器事务。1.2.1JBDC事务DBC 事务是用Connection对象控制的。JDBCConnection接口(java.sql.Connection)提供了两种事务模式:自动提交和手工提交。 java.sql.Connection 提供了以下控制事务的方法:publicvoidsetAutoCommit(boole

5、an) publicbooleangetAutoCommit() publicvoidcommit() publicvoidrollback() 使用JDBC事务界定时,您可以将多个SQL语句结合到一个事务中。JDBC事务的一个缺点是事务的范围局限于一个数据库连接。一个JDBC事务不能跨越多个数据库。 1.2.2JTA(JavaTransactionAPI)事务  JTA 是一种高层的,与实现无关的,与协议无关的API,应用程序和应用服务器可以使用JTA来访问事务。 JTA允许应用程序执行分布式事务处理--在两个或多个网络计算机资源上访问并且更新数据,这

6、些数据可以分布在多个数据库上。JDBC驱动程序的JTA支持极大地增强了数据访问能力。 如果计划用JTA界定事务,那么就需要有一个实现javax.sql.XADataSource、javax.sql.XAConnection和javax.sql.XAResource接口的 JDBC 驱动程序。一个实现了这些接口的驱动程序将可以参与JTA事务。一个XADataSource对象就是一个XAConnection对象的工厂。XAConnections是参与JTA事务的JDBC连接。 您将需要用应用服务器的管理工具设置 XADataSource。从应用服务器和JDB

7、C驱动程序的文档中可以了解到相关的指导。J2EE应用程序用JNDI查询数据源。一旦应用程序找到了数据源对象,它就调用javax.sql.DataSource.getConnection()以获得到数据库的连接。XA连接与非XA连接不同。一定要记住XA连接参与了JTA事务。这意味着XA连接不支持JDBC的自动提交功能。同时,应用程序一定不要对XA连接调用java.sql.Connection.commit()或者java.sql.Connection.rollback()。相反,应用程序应该使用UserTransaction.begin()、UserTra

8、nsaction.commit()和serTransaction.rollbac

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。