Может ли транзакция BMT присоединиться к существующей транзакции? - PullRequest
0 голосов
/ 02 июля 2010

Я обнаружил, что в сессионном компоненте при использовании Container-Managed-Transactions можно выполнить транзакцию для соединения с существующей клиентской транзакцией, используя такие транзакционные атрибуты, как REQUIRED / SUPPORTS.

При использовании Bean-Managed-Transaction есть способ объединить эту транзакцию с существующей клиентской транзакцией?

1 Ответ

3 голосов
/ 02 июля 2010

Нет (см. § 13.6.1 и § 13.6.2 в спецификации).

Но зачем ты это делаешь?Если bean-компонент предназначен для присоединения к транзакции, запущенной где-то еще, просто сделайте, если CMT с REQUIRED.Это та же самая ситуация, когда боб BMT называет другой боб.Компонент BMT контролирует разграничение транзакции, а другой компонент использует CMT для присоединения к транзакции.

Обратите также внимание, что в спецификации термин «клиент» относится к вызывающему компоненту, это может быть другой компонент, автономный клиент или внешний клиент (например, запрос веб-службы).

...