`
中国爪哇程序员
  • 浏览: 164753 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

分布式事务

    博客分类:
  • java
 
阅读更多
JTA 与 JTS 区别



一. 链接地址:

事务服务简述:
http://www.ibm.com/developerworks/cn/java/l-transation/part1/

J2EE中的事务服务简介:
http://www.ibm.com/developerworks/cn/java/l-transation/part2/#author1
分布式事务JTA原理与实现:
http://www.ibm.com/developerworks/cn/java/j-lo-jta/
Java Transaction API概述:
http://www.bccn.net/Article/kfyy/java/jszl/200709/6154.html

二。附件:
(1)XA API文档
(2)jta-3-9 测试代码,执行maven,自动引包。以EMBED数据为例,做了测试。包括JMS,多数据源下的测试。

三。注意事项
		UserTransaction utx = new UserTransactionImp();
		utx.setTransactionTimeout(60);
		// First, create a transaction
		utx.begin();
		
		UserTransaction utx1 = new UserTransactionImp();
		utx1.setTransactionTimeout(60);
		utx1.begin();
		try{
			getBalance(resourceName,false);
			getBalance("db2",false);

		}catch(Exception e){
			
		}finally{
			utx.commit();
		}


(1)作用域

分析上面的代码,控制多个事务的UserTransaction和其控制的各个事务,在代码层面上并没有关联,即并没有把事务注册到UserTransaction中的代码。这是因为执行utx.begin();
这行时,会起动一线程,这个线程会监控制进程中所有的XA资源,是通过后台线程控制的。
由此要考虑作用范围,避免处理多个用户的分布事务相互间有影响。

(2)性能问题

如不是业务的特殊要求,尽量不要使用分布事务。




四。查阅资料基本上市面流行的数据库都支持XA标准。
其中SQLserver的XA 驱动见下:ftp://ftp.software.ibm.com/software/websphere/info/tools/DataDirect/datadirect.htmEMBED,MYSQL,Oracle这些也都支持,而且驱动类都要有开源。
  • 大小: 29.8 KB
分享到:
| AJAX
评论

相关推荐

Global site tag (gtag.js) - Google Analytics