一些CMT和BMT在EJB中存在疑虑?

时间:2011-07-17 13:37:39

标签: transactions ejb container-managed bean-managed-transactions

在会话bean中使用CMT我们在哪里提交交易?

使用REQUIRES_NEW属性Container创建一个新事务并暂停调用者事务 只需更好地了解REQUIRES_NEW,它是否通过将事务与新连接相关联来实现上述行为。一旦完成当前 交易它假设以前的连接? 什么时候提交新事务?

有人能指出我使用JDBC的sesion bean的简短eamxple CMT和BMT。 基本上看看我们如何在CMT和BMT中获得连接,提交,回滚

在CMT中,事务管理器完成与当前线程关联的事务。我的问题是它如何提交交易。 我知道通过连接提交事务,但是在一个例子中,如何知道与当前线程关联的连接 我看到使用new运算符创建方法内部的连接。

1 个答案:

答案 0 :(得分:1)

  

在会话bean中使用CMT我们在哪里提交交易?

当启动事务的方法结束时,假设它没有以系统异常结束。

  

通过关联事务来实现上述行为   新的联系。

跨事务不共享连接。每个连接都绑定到获取它的事务。

  

有人能指出简短的eamxple CMT和BMT在哪里有sesion bean   使用JDBC。基本上看我们如何获得连接,提交,   在CMT和BMT中回滚

你应该在同一个交易中获得/使用/关闭所有。

  

我知道用连接提交事务但是这里怎么做   它知道哪个连接与当前线程关联   在一个例子中,我看到创建方法内部的连接   新运营商。

获取连接时,容器enlists包含当前事务的资源。当事务提交或回滚时,事务管理器在驱动器回调到XAResource时。