JTA 事务处理
来源:互联网 发布:mac发射wi fi 编辑:程序博客网 时间:2024/05/22 04:51
JTA 事务处理
public void transferAccount() { UserTransaction userTx = null; Connection connA = null; Statement stmtA = null; Connection connB = null; Statement stmtB = null; try{ // 获得 Transaction 管理对象 userTx = (UserTransaction)getContext().lookup("\ java:comp/UserTransaction"); // 从数据库 A 中取得数据库连接 connA = getDataSourceA().getConnection(); // 从数据库 B 中取得数据库连接 connB = getDataSourceB().getConnection(); // 启动事务 userTx.begin(); // 将 A 账户中的金额减少 500 stmtA = connA.createStatement(); stmtA.execute(" update t_account set amount = amount - 500 where account_id = 'A'"); // 将 B 账户中的金额增加 500 stmtB = connB.createStatement(); stmtB.execute("\ update t_account set amount = amount + 500 where account_id = 'B'"); // 提交事务 userTx.commit(); // 事务提交:转账的两步操作同时成功(数据库 A 和数据库 B 中的数据被同时更新) } catch(SQLException sqle){ try{ // 发生异常,回滚在本事务中的操纵 userTx.rollback(); // 事务回滚:转账的两步操作完全撤销 //( 数据库 A 和数据库 B 中的数据更新被同时撤销) stmt.close(); conn.close(); ... }catch(Exception ignore){ } sqle.printStackTrace(); } catch(Exception ne){ e.printStackTrace(); } }
0 0
- JTA事务处理
- JTA 事务处理
- JTA分布式事务处理
- JTA分布式事务处理
- JTA事务处理--转自opening
- hibernate 3中jta事务处理
- 分布式跨数据库的事务处理解决方案jta
- 跨库事务处理 spring+hibernate+struts2+jta
- 跨库事务处理 spring+hibernate+struts2+jta
- 跨库事务处理 spring+hibernate+struts2+jta
- 事务处理总结【JDBC事务|JTA事务|容器事务】
- 事务处理总结【JDBC事务|JTA事务|容器事务
- Java事务处理总结【JDBC事务|JTA事务|容器事务】
- Java事务处理总结【JDBC事务|JTA事务|容器事务】
- Java事务处理总结【JDBC事务|JTA事务|容器事务】
- 事务处理总结【JDBC事务|JTA事务|容器事务
- Java事务处理总结【JDBC事务|JTA事务|容器事务】++XA分布式事务处理
- JTA
- document.all笔记
- MySQL命令操作 增删查改
- iOS开发new与alloc/init的区别
- pulltorefresh中PullToRefreshExpandableListView使用适配器的一些问题
- zookeeper单机与分布式模式
- JTA 事务处理
- 递归----Fast Power Show result
- MySQL性能优化的最佳经验,随时补充
- Masonry注意
- ContentObserver使用
- 文字和自定义图片居中的RadioButton
- 一般引起Cookie丢失的原因
- Tomcat源码SVN地址
- mybatis结合log4j打印SQL日志