事务 事务表示一个由一系列数据库操作组成的不可分割的逻辑单位。在Sql语句中定义事务如下: BEGIN TRANSACTION:开始一个事务 PREPARE:准备提交事务 COMMIT:提交一个事务 ROLLBACK:回滚一个事务主要有四个特性:原子性,一致性,隔离性,时效性。 事务处理方式: 1.JDBC连接,使用命令声明事务的开始、提交和取消。由java.sql.Connection接口来实现,而且还可以启用AutoCommit,但会影响服务器的性能。2.利用Java EE 5规范中的JTA, EJB、 JMS服务参与事务的方式常采用JTA。企业级java中间件的分布式事务服务包括五层:事务管理器、应用服务器、资源管理器、应用程序和通信资源管理器。 JTA事务处理 UserTransaction接口。使应用程序可以编程控制事务什么时候开始、挂起、重新开始、提交或回滚。该接口主要供java客户端程序和EJB来使用,如:1、 Bean管理事务。 Try{ Javax.transaction.UserTransaction userTransaction = ctx.getUserTransaction(); userTransaction.begin() ; //.....开始执行相应的数据库操作 userTransaction.commit() ; }catch(Exception e){ userTransaction.rollback() ; throw new Exception(« 事务提交失败!“);}2、 JAVA客户端程序先通过JNDI来获得UserTransaction对象的引用,后使用该对象的方法完成事务控制。如:Properties p = new Properties() ;p.put(Context.INITIAL_CONTEXT_FACTORY, « weblogic.jndi.WLInitialContextFactory ») ;p.put(Context.PROVIDER_URL,”t3://localhost:7001”);Context ctx = new InitialContext(p) ;UserTransaction userTransaction = (UserTransaction)ctx.lookup(“UserTransaction”);userTransaction.begin() ;//.....Try{userTransaction.commit() ;}catch(Exception e){ userTransaction.rollback();throw new Exception(“rollback” TransactionManager接口。允许应用服务器代表被管理的应用程序控制事务的界定。 Transaction接口。可以执行与目标对象相关联的事务操作。当事务产生时,每一个全局的事务都和它的对象相关联。 事务处理过程: 以weblogic 为例。1、 建立事务:用ctx.lookup(“UserTransaction”)方法。2、 开始事务:调用userTransaction.begin();3、 找出数据源:ctx.lookup(“mydatasource”);4、 建立数据库连接:ds.getConnection();5、 执行相关的操作6、 关闭连接:7、 完成事务:tx.commit()/tx.rollback();
jta 与jdbc事务
最新推荐文章于 2024-11-15 22:11:31 发布