Hello,
I have a transaction managed by Spring (3.1.0) and JBoss JTA (jboss-eap-6.0).
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName" value="java:/TransactionManager" />
</bean>
When we set the JTA transaction manager timeout, it seems to work, it kills the transaction at the timeout.
<property name="defaultTimeout" value="10" />
2014-04-08 17:46:47,160 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0a195b26:696a4d75:5343c565:8 in state RUN
2014-04-08 17:46:47,161 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff0a195b26:696a4d75:5343c565:8 invoked while multiple threads active within it.
2014-04-08 17:46:47,161 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff0a195b26:696a4d75:5343c565:8 aborting with 1 threads active!
2014-04-08 17:46:47,309 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0a195b26:696a4d75:5343c565:8
However, the whole transaction only throws error (javax.resource.ResourceException: IJ000460: Error checking for a transaction) when it tries to commit, at the end of the transaction.
As such, we return the error much later than when the timeout happens. We would want to return error immediately when the timeout happens.
How should this be done?
Is there any solution for this issue, I am facing the same issue. But in my case I am using Seam