EJB-компоненты имеют этот транзакционный контроль в Java EE. Вы можете установить для транзакции метода в EJB значение Required, RequNues, New, Supports и т. Д. Вы почти всегда используете Session Bean без сохранения состояния (@Stateless
) для описываемых вами требований:
> @TransactionAttribute(value=[MANDATORY,
> REQUIRED, REQUIRES_NEW, SUPPORTS,
> NOT_SUPPORTED, NEVER]
Требуется, по умолчанию, будет повторно использовать существующий txn, если он запущен, или создаст новый, если его нет. Java EE 6 поставляется с EJB 3.1, поэтому вам даже не нужен бизнес-интерфейс, и вы можете упаковать EJB-файлы в WAR-файл, если хотите. Поэтому вы используете EJB-компоненты, но разработчику их гораздо проще интегрировать, если вам нужна только поддержка JTA.
Это полезная шпаргалка для аннотаций EJB, и есть множество руководств, если вы ищете их для Google.