1

我是 EJB 的新手。我读过 bean 管理事务 (BMT) 的副作用之一是,如果我们调用另一个 BMT bean 的方法,则事务不会传播。但是由于第三个 ACID 属性(隔离),这是否意味着第二个方法(内部)不会看到在第一个方法(外部)中所做的更改?

4

1 回答 1

1

Bean 管理的事务仅意味着您自己在 bean 中编写事务边界。

容器管理的事务意味着您让容器(即应用程序服务器)为您完成打开、关闭、回滚等脏活。

在这两种情况下,通常使用一些中央 TransactionManager 来访问当前事务或创建新事务。

这是否意味着第二种方法(内部)不会看到在第一种方法(外部)中所做的更改

如果在两个方法中使用相同的 TransactionManager(和相同的 Transaction),则内部方法应该会看到外部方法的更改。

于 2013-06-23T22:08:28.673 回答