下面的代碼能將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()時,對這兩個資源管理器進行兩階段提交,這其中有什麼澳妙嗎?