1、什么是JTA
JTA Transaction是指由J2EE Transaction manager去管理的事务。其最大的特点是调用UserTransaction接口的begin,commit和rollback方法来完成事务范围的界定,事务的提交和回滚。JTA Transaction可以实现同一事务对应不同的数据库,但是它仍然无法实现事务的嵌套。
2、JTA的构成
JTA由3个部分构成:
高层应用事务界定接口,供事务客户界定事务边界的
X/Open XA协议(资源之间的一种标准化的接口)的标准Java映射,它可以使事务性的资源管理器参与由外部事务管理器控制的事务中
高层事务管理器接口,允许应用程序服务器为其管理的应用程序界定事务的边界
3、JTA的主要接口
位于javax.transaction包中
UserTransaction接口:让应用程序得以控制事务的开始、挂起、提交、回滚等。由Java客户端程序或EJB调用。
TransactionManager 接口:用于应用服务器管理事务状态
Transaction接口:用于执行相关事务操作
XAResource接口:用于在分布式事务环境下,协调事务管理器和资源管理器的工作
Xid接口:为事务标识符的Java映射
4、JTA编程的基本步骤
首先配置Weblogic JTA ,建立相应的数据源
建立事务:通过创建UserTransaction类的实例来开始一个事务。
Context ctx = new InitialContext(p) ;
UserTransaction trans = (UserTransaction)
ctx.lookup("javax. Transaction.UserTransaction")
开始事务:trans.begin() ;
找出数据源:从Weblogic Server上找到数据源
DataSource ds = (DataSource) ctx.lookup(“mysqldb") ;
建立数据库连接:Connection mycon = ds.getConnection() ;
执行SQL操作:stmt.executeUpdate(sqlS);
完成事务:trans.commit(); / trans.rollback();
关闭连接:mycon.close() ;