public static void endTransaction(boolean insideSynapse, long key) throws Exception { int xaResourceStatus = XAResource.TMNOFLAGS; try { if(insideSynapse && transactions.get() == null){ log.warn(" END Thread Local null "); return; } if(insideSynapse && transactions.get().get(key) == null){ log.warn(" END Some How TX null "); return; } if (transactions.get().get(key) != null && javax.transaction.Status.STATUS_ACTIVE == transactions .get().get(key).getStatus()) { txManagers.get().get(key).commit(); xaResourceStatus = XAResource.TMSUCCESS; } } catch (Exception ex) { xaResourceStatus = XAResource.TMFAIL; log.error(" END ERROR : " + txManagers.get().get(key).getStatus()); throw ex; }finally{ // delist delistResource(xaResourceStatus, key); } }
public static void rollbackTransaction(boolean insideSynapse, long key) throws Exception { int xaResourceStatus = XAResource.TMFAIL; try { if (log.isDebugEnabled()) { log.debug("rollbackTransaction()"); } if (insideSynapse && transactions.get() == null) { log.warn(" ROLLBACK Thread Local null "); return; } if (insideSynapse && transactions.get().get(key) == null) { log.warn(" ROLLBACK Some How TX null "); return; } if (transactions.get().get(key) != null && javax.transaction.Status.STATUS_ACTIVE == transactions .get().get(key).getStatus()) { txManagers.get().get(key).rollback(); xaResourceStatus = XAResource.TMFAIL; } } catch (Exception ex) { log.error(" ROLLBACK ERROR : " + txManagers.get().get(key).getStatus()); throw ex; }finally{ // delist delistResource(xaResourceStatus,key); } }