Когда у меня есть метод @Asynchronous
в EJB, и я не указываю @TransactionAttribute
, тогда как точно ли контейнер обрабатывает границы транзакции? Очевидно, он не может использовать транзакцию вызывающего потока, так что он делает?
Тот же вопрос, но относительно методов, которые запускаются TimerService.
РЕДАКТИРОВАТЬ: Думаю, я плохо сформулировал это. Я уже знаю, что режим по умолчанию «ТРЕБУЕТСЯ». Таким образом, можно с уверенностью предположить, что эти методы всегда будут вызываться внутри транзакции. Но у меня вопрос: как выглядит жизненный цикл этой транзакции? Создает ли контейнер новую транзакцию для каждого вызова? Или он повторно использует одну и ту же транзакцию для всех вызовов асинхронного рабочего потока? Если второе, то когда будет закрыта транзакция?