2011-07-17 49 views
3

CMT和BMT如何管理?在EJB中如何管理CMT和BMT?

根據我的理解,容器管理事務是通過應用服務器而不是tomcat等web服務器支持的JTA實現的。

CMT由事務管理器實現處理,該實現特定於每個應用程序服務器,該服務器在內部讀取ejb-jar.xml並應用 行爲。

BMT是在java api的用戶事務類的幫助下劃分的。

上述理解是否正確?

回答

3

是的,它是正確的。還有一些交易細節:

對於CMT,EJB容器還負責實現EJBContext.setRollbackOnly和isRollbackOnly,方法是委派當前事務回滾異常事務。

對於BMT,如果在SLSB和單例的方法結束之前未提交UserTransaction,則EJB容器還負責拋出異常。對於SFSB,它負責在方法結束時暫停用戶事務,並在下一次方法調用中恢復它們。

相關問題