一起学习
下面的代码能将sessionA和sessionB中的两方法作为同一事务处理。
try{
InitialContext initial=new InitialContext();
UserTransaction ut=(UserTransaction)initial.lookup("java:comp/UserTransaction"); //1
SessionAHome aHome=(SessionAHome)initail.lookup("SessionA"); //2
SessionA a=aHome.create();
SessionBHome bHome=(SessionBHome)initail.lookup("SessionB"); //2
SessionB b=bHome.create();
ut.begin(); //3
a.fa();
b.fb();
ut.commit(); //4
}
catch(.....){
ut.rollback();
}
1处得到一UserTransaction对象ut,2处分别得到两个sessionbean的对象,但是ut,与a,b之间并没有关联,那当3处ut.begin();时,jts如何知道将事务对象在a.fa()中所操作的资源管理器与b.fb()中所操作的资源管理器之间传播,又如何当4处ut.commit()时,对这两个资源管理器进行两阶段提交,这其中有什么澳妙吗?
下载本文示例代码
关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题关于分布式事务处理的问题
阅读(149) | 评论(0) | 转发(0) |