public int rollback ( ) { //log rolling back loggingDecision ( false ) ; //perform rollback try { tx . rollback ( ) ; } catch ( SystemException e ) { //ignore exception (heuristic exceptions) //TODO logging } finally { perCacheTxTable . removeLocalTx ( xid ) ; } //log rolled back loggingCompleted ( false ) ; return XAException . XA_RBROLLBACK ; }
Rollbacks the transaction if an exception happens during the transaction execution .