EJB @Asynchronous - транзакция не активна после нескольких минут выполнения - PullRequest
1 голос
/ 02 марта 2012

У меня есть асинхронный метод в моем сессионном компоненте сеанса, который после нескольких минут выполнения выдает следующее исключение после завершения метода другой транзакции:

Причина: org.jboss.util.NestedSQLException: транзакция не активна: tx = TransactionImple

Я пытался добавить эту аннотацию - @TransactionTimeout - но не работает.

Есть идеи?

Спасибо.

1 Ответ

2 голосов
/ 04 марта 2012

1.Настройка тайм-аута по умолчанию в транзакции-jboss-beans.xml:

<attribute name="TransactionTimeout">100</attribute>

2. С помощью BMT вручную установить время ожидания транзакции:

userTransaction.setTransactionTimeout(100);

3. Переопределение на уровне метода для сессионного компонента в определении xml:

//--
    <method-attributes> 
       <method> 
         <method-name>someMethod</method-name> 
           <transaction-timeout>100</transaction-timeout> 
       </method> 
    </method-attributes>
//--
...