Atomikos Forum

XAException during UserTransaction.commit() is not being caught

I have database inconsistencies in my transaction involving 2 databases. I am using the AtomikosDataSource bean to manage DB connections.
Following is the DB trace log showing the exception:

[jcc][Thread:main][XAException@544ec1] javax.transaction.xa.XAException
[jcc][Thread:main][XAException@544ec1] Message = [jcc][t4][2041][12326][3.53.70] Error executing XAResource.commit().  Server returned XAER_NOTA. ERRORCODE=-4203, SQLSTATE=null
[jcc][Thread:main][XAException@544ec1] Stack trace follows
com.ibm.db2.jcc.b.po: [jcc][t4][2041][12326][3.53.70] Error executing XAResource.commit().  Server returned XAER_NOTA. ERRORCODE=-4203, SQLSTATE=null
    at com.ibm.db2.jcc.b.bd.c(bd.java:453)
    at com.ibm.db2.jcc.t4.ac.b(ac.java:2675)
    at com.ibm.db2.jcc.t4.ac.a(ac.java:370)
    at com.ibm.db2.jcc.t4.ac.commit(ac.java:162)
    at com.atomikos.datasource.xa.XAResourceTransaction.commit(XAResourceTransaction.java:785)
    at com.atomikos.icatch.imp.CommitMessage.send(CommitMessage.java:73)
    at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:111)
    at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:87)
    at com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:66)
    at com.atomikos.icatch.imp.CoordinatorStateHandler.commit(CoordinatorStateHandler.java:614)
    at com.atomikos.icatch.imp.IndoubtStateHandler.commit(IndoubtStateHandler.java:193)
    at com.atomikos.icatch.imp.CoordinatorImp.commit(CoordinatorImp.java:863)
    at com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:1162)
    at com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:92)
    at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:236)
    at com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:498)
    at com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:129)
    at com.Controller.MainController.run(MainController.java:57)
    at com.util.BatchDriver.main(BatchDriver.java:18)

I have the db update statement as well as commit statement written in try..catch blocks and i am catching all Exceptions. How is this exception slipping through?
And if the exception is occuring in commit, why is the transaction still being committed on 1 DB and not the other?

I am using TransactionEssentials v3.7.1
Anirudh Rathi Send private email
Thursday, May 10, 2012
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics