| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Где сделать commit транзакции в managed bean? |
| Автор: ainkin 23.10.2006, 18:57 |
| Приветствую. Приложение использует managed bean, и все вызовы методов EJB, которые совершаются из этого bean, должны быть частью одной транзакции. Для этого я использую инъекцию UserTransaction, вызывая begin() в свойстве, обрабатывающем эту инъекцию. А вот где её закоммитить? Первая мысль -- сделать это в методе с аннотацией @PreDestroy. Но когда я это делаю, получаю исключение IllegalStateException, говорящее, что текущий поток не связан ни с какой с транзакцией. Следующая мысль -- сделать commit в скриптлете. Но код в JSP вызывает отвращение; зачем тогда вообще переносить логику в bean, если придётся также мусорить и в теле страницы? В общем, вопрос. Какое место является рекомендуемым для commit-а транзакции? |