I have an application running on JBoss and using Spring framework with the hibernate. Now I get suprised that when a very big transaction timedout, spring can still commit the JTA transaction with no exception raised. And data remains unchanged, the transaction is actually rolled back. I wonder why this thing would happen. It seems when a user transaction timedout and after that when try to commit the transaction, JBoss don't raise any exception.