Распространение транзакций в методах EJBJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Распространение транзакций в методах EJB

Сообщение Anonymous »

Я хочу правильно понять распространение транзакций, пожалуйста, помогите.
Предположим, у нас есть EJB_A без сохранения состояния, который предоставляет услуги уровня приложения.
он использует локальные EJB_B, EJB_C,
оба используют управляемый контейнер EntityManager.

EJB_B и EJB_C используют методы друг друга.
Если я правильно понимаю, каждый EJB получает собственный экземпляр EntityManager для управления одним и тем же модулем персистентности.
Предположим, EJB_A по запросу клиента использует методы бота Например, EJB_B и EJB_C для создания транзакции:

Код: Выделить всё

@Stateless(name = "myejb")

public class EJB_A implements Interface_EJB_A
{
@EJB
private EJB_B ejb_b;

@EJB
private EJB_C ejb_c;

public String method()
{

ejb_b.call();
ejb_c.call();

}

...
}
Как менеджер объектов, внедренный в EJB_C, узнает, что транзакция продолжается,

если он ничего не знает о существовании EntityManager, внедренного в EJB_B?
Этот тип контейнера добавляет магию, которую мне трудно понять...
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»