分布式事务

JTA 与 JTS 区别

[img]http://dl2.iteye.com/upload/attachment/0087/0584/52a1a07d-60fd-320f-a411-5d5138678661.jpg[/img]

一. 链接地址:

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

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

二。附件:
(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 驱动见下:[url]ftp://ftp.software.ibm.com/software/websphere/info/tools/DataDirect/datadirect.htm[/url]EMBED,MYSQL,Oracle这些也都支持,而且驱动类都要有开源。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值