2011-07-17 107 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,它负责在方法结束时暂停用户事务,并在下一次方法调用中恢复它们。

相关问题