#什么是JTAspring
JTA是Java的API,是个处理事务的。sql
事务必须保证用户操做的原子性,一致性,隔离性,持久性。
事务处理方式有两个,一个是本地事务还有一个是分布式事务数据库
#本地事务分布式
首先本地事务只于资源管理器相结合。局限性很大。ide
Connection conn = null; statement stat = null; try{ conn = getDataSource().getConnection(); conn.setAutoCommit(true); stat = conn.createStatement(); stat.execute("SQL语句"); conn.comit(); }catch(SQLException sqle){ try{ conn.rollback(); stat.close(); conn.close(); }catch(Exception ignore) }
#分布式事务code
JTA与JSF共同为分布式提供事务处理。
首先分布式事务,由事务管理器,资源管理器(遵循XA协议)还有应用程序组成。首先应用程序发送事务请求,事务管理器收到后询问资源管理器
是否准备就绪。而后返回给应用程序准备就绪,而后应用程序开始事务。对象
获取Transaction管理对象 链接数据库,启动事务 提交事务,当发生异常进行回滚 JTA分布式事务接口,JTS是JTA的一种实现。spring事务里面,可使用JTA等事务。感受挺厉害的,可选择性高。