rollbackResources(rms); } catch (LogException e) { try { rollbackResources(rms); } catch (Exception se) { log.error("Unable to rollback after failure to log decision", se.getCause());
rollbackResources(resourceManagers); throw e;
rollbackResources(rms); } catch (LogException e) { try { rollbackResources(rms); } catch (Exception se) { log.error("Unable to rollback after failure to log decision", se.getCause());
rollbackResources(resourceManagers); throw e;
} catch (LogException e) { try { rollbackResources(resourceManagers); } catch (Exception se) { log.error("Unable to rollback after failure to log prepare", se.getCause());
endResources(); try { rollbackResources(rms); } catch (LogException e) { try { rollbackResources(rms); } catch (Exception se) { log.error("Unable to rollback after failure to log decision", se.getCause());
rollbackResources(rms); throw new RollbackException("Unable to commit");
rollbackResources(rms); throw new RollbackException("Unable to commit");
rollbackResources(rms); throw new RollbackException("Unable to commit");
rollbackResources(resourceManagers, false); RollbackException rollbackException = new RollbackException("Unable to commit: transaction marked for rollback"); if (markRollbackCause != null) { rollbackResources(resourceManagers, false); throw e; rollbackResources(resourceManagers, true); throw new RollbackException("transaction rolled back due to problems in prepare");
} catch (LogException e) { try { rollbackResources(resourceManagers); } catch (Exception se) { log.error("Unable to rollback after failure to log prepare", se.getCause());
} catch (LogException e) { try { rollbackResources(resourceManagers); } catch (Exception se) { log.error("Unable to rollback after failure to log prepare", se.getCause());
} catch (LogException e) { try { rollbackResources(resourceManagers, false); } catch (Exception se) { log.error("Unable to rollback after failure to log prepare", se.getCause());
public void rollback() throws IllegalStateException, SystemException { List rms; synchronized (this) { switch (status) { case Status.STATUS_ACTIVE: status = Status.STATUS_MARKED_ROLLBACK; break; case Status.STATUS_MARKED_ROLLBACK: break; default: throw new IllegalStateException("Status is " + getStateString(status)); } rms = resourceManagers; } endResources(); try { try { rollbackResources(rms, false); } catch (HeuristicMixedException e) { throw (SystemException)new SystemException("Unable to roll back due to heuristics").initCause(e); } } finally { afterCompletion(); synchronized (this) { status = Status.STATUS_NO_TRANSACTION; } } }
rollbackResources(rms, false); } catch (HeuristicMixedException e) { throw (SystemException)new SystemException("Unable to commit and heuristic exception during rollback").initCause(e);
rollbackResources(resourceManagers); if (timedout) { throw new RollbackException("Transaction timeout"); commitResources(resourceManagers); } else { rollbackResources(resourceManagers); throw new RollbackException("Unable to commit");