請教分散式事務的具體處理:急!!!!

J2EEacai發表於2004-08-08
有兩個無狀態Bean,分別命名為BeanA和BeanB,BeanA中有方法AddA這個方法實現向表A中新增記錄,BeanB中也有方法AddB這個方法實現向表B中新增記錄,將BeanA和BeanB組成在一個事務中,這個事務寫在Jsp頁面中,
在Test.jsp頁面中
try{
InitialContext initial=new InitialContext();
UserTransaction ut=(UserTransaction)initial.lookup("java:comp/UserTransaction"); //1
SessionAHome aHome=(SessionAHome)initail.lookup("BeanA"); //2
SessionA a=aHome.create();
SessionBHome bHome=(SessionBHome)initail.lookup("BeanB"); //2
SessionB b=bHome.create();

ut.begin(); //3
a.AddA(“LineA”);
//向表B中新增資料時錯誤
b.AddB(“LineB”);
ut.commit(); //4

}
catch(.....){
ut.rollback();
}

現在的問題是BeanB的新增操作不成功,但是事務不執行回退,也就是說表A中新增了新記錄,這是為什麼,怎麼解決???

相關文章