0

在会话 bean 中使用 CMT 时,我们在哪里提交事务?

使用 REQUIRES_NEW 属性容器创建一个新事务,调用者事务被挂起只要更好地理解 REQUIRES_NEW ,它是否通过将事务与新连接关联来实现上述行为。一旦完成当前事务,它会假设以前的连接?当新事务发生提交时?

有人可以指出我使用 JDBC 的会话 bean 的简要 eamxple CMT 和 BMT。基本上看我们如何在 CMT 和 BMT 中获得连接、提交、回滚

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

4

1 回答 1

1

在会话 bean 中使用 CMT 时,我们在哪里提交事务?

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

它是否通过将事务与新连接相关联来实现上述行为。

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

有人可以指出我使用 JDBC 的会话 bean 的简要 eamxple CMT 和 BMT。基本上看我们如何在 CMT 和 BMT 中获得连接、提交、回滚

您应该在同一事务中获取/使用/关闭所有内容。

我知道使用连接提交事务,但在这里如何知道与当前线程关联的连接,如在一个示例中,我看到使用 new 运算符在方法内创建连接。

当您获得连接时,容器将资源与当前事务登记在一起。当事务提交或回滚时,事务管理器同时驱动对 XAResource 的回调。

于 2011-07-17T21:31:16.017 回答