Search code examples
javaasynchronoustransactionsjbossejb

EJB @Asynchronous - Transaction is not active after few minutes executing


I've a async method in my singleton session bean, which after a few minutes executing, is thrown the following exception after finalize a method of another transaction:

Caused by: org.jboss.util.NestedSQLException: Transaction is not active: tx=TransactionImple < ac, BasicAction: 0:ffff0afd40ba:126a:4f50fff5:42 status: ActionStatus.ABORTED

I've tried add this anotation - @TransactionTimeout - but does not works.

Any idea?

Thanks.


Solution

  • 1.Configuring default timeout in transaction-jboss-beans.xml :

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

    2.Using BMT to set the timeout for a transaction manually :

    userTransaction.setTransactionTimeout(100);

    3.Overriding at method-level for a session bean in xml definition :

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