Режим транзакции EJB по умолчанию для асинхронных методов?

  1. Когда у меня есть метод @Asynchronous в EJB, и я не указываю @TransactionAttribute , тогда как точно ли контейнер обрабатывает границы транзакции? Очевидно, он не может использовать транзакцию вызывающего потока, так что он делает?

  2. Тот же вопрос, но относительно методов, которые запускаются TimerService.


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

34
задан Mike Baranczak 25 October 2010 в 17:21
поделиться