0 Replies Latest reply on Mar 23, 2009 6:28 PM by roeber

    How to get the SqlException or native JDBC exception from JTA EJB3-Transaction

    roeber

      Hi,


      I am getting the following exception.



      16:50:20,143 WARN  [SeamPhaseListener] uncaught exception, passing to exception handler
      java.lang.IllegalStateException: Could not commit transaction
              at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:626)
              at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:605)
      ...
      Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state
              at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1401)
              at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
              at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
              at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
              at org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.java:52)
              at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:614)
      


      This exception is caused by a 'constraint violation' error in the database. I know this because I have tried the SQL transaction manually. In the JBoss log file(s) I found no such hint or even such an exception.


      How do I get the native and original reason for this exception? Do I have to configure some Seam (2.1.1), JPA/Hibernate or JBoss AS (4.2.3) configuration files?


      I assume that Seam isn't able to provide the information because it delegates the transaction handling to JBoss JTA, but I didn't found any other corresponding hints.


      Any ideas?