How to set TransactionManager time out in Jboss
| July 13th, 2010In my seam application that running on Jboss 5.1.0 GA, i have a process that retrieves a big data and the process takes more than 6 minutes now.
Last time i got error
2010-07-12 09:44:37,617 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-9) [com.arjuna.ats.arjuna.coordinator.TransactionReaper_18] - TransactionReaper::check timeout for TX 7f000001:aa82:4c3a8008:9c in state RUN 2010-07-12 09:44:37,640 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-10) [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id 7f000001:aa82:4c3a8008:9c invoked while multiple threads active within it. 2010-07-12 09:44:37,641 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-10) [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action 7f000001:aa82:4c3a8008:9c aborting with 1 threads active! 2010-07-12 09:44:37,647 ERROR [STDERR] (http-127.0.0.1-8080-4) org.jboss.util.NestedSQLException: Transaction TransactionImple < ac, BasicAction: 7f000001:aa82:4c3a8008:9c status: ActionStatus.ABORTING > cannot proceed STATUS_ROLLING_BACK; - nested throwable: (javax.transaction.RollbackException: Transaction TransactionImple < ac, BasicAction: 7f000001:aa82:4c3a8008:9c status: ActionStatus.ABORTING > cannot proceed STATUS_ROLLING_BACK) 2010-07-12 09:44:37,647 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-10) [com.arjuna.ats.arjuna.coordinator.TransactionReaper_7] - TransactionReaper::doCancellations worker Thread[Thread-10,5,jboss] successfully canceled TX 7f000001:aa82:4c3a8008:9c 2010-07-12 09:44:37,648 ERROR [STDERR] (http-127.0.0.1-8080-4) at org.jboss.resource.adapter.jdbc.WrapperDataSource.checkTransactionActive(WrapperDataSource.java:165) 2010-07-12 09:44:37,648 ERROR [STDERR] (http-127.0.0.1-8080-4) at org.jboss.resource.adapter.jdbc.WrappedConnection.checkTransactionActive(WrappedConnection.java:833) 2010-07-12 09:44:37,648 ERROR [STDERR] (http-127.0.0.1-8080-4) at org.jboss.resource.adapter.jdbc.WrappedConnection.checkStatus(WrappedConnection.java:848) 2010-07-12 09:44:37,648 ERROR [STDERR] (http-127.0.0.1-8080-4) at org.jboss.resource.adapter.jdbc.WrappedConnection.checkTransaction(WrappedConnection.java:825) 2010-07-12 09:44:37,648 ERROR [STDERR] (http-127.0.0.1-8080-4) at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:240)
This error happened because the process of retrieving data is longer than the transaction time out that i have in my Jboss Appplication.
To change transaction time out, in Jboss 5.1.0 you can find the config file in
/JbossRoot/server/default/deploy/transaction-jboss-beans.xml
And search configuration as shown below
<property name=”transactionTimeout”>900</property>
<property name=”objectStoreDir”>${jboss.server.data.dir}/tx-object-store</property>
<property name=”mbeanServer”><inject bean=”JMXKernel” property=”mbeanServer”/></property>




[...] So how do you set the timeout-period in JBOSS 5.x? I found the answer in http://www.hell0w0rld.co.cc/2010/07/how-to-set-transactionmanager-time-out-in-jboss/ [...]