public void rollback_only() throws TransactionException { log.debug("TransactionImpl rollback_only"); try { control.get_coordinator().rollback_only(); log.debug("tx marked rollback only"); } catch (Unavailable e) { throw new TransactionException("Tx Manager unavailable for set rollback only", e); } catch (Exception e) { throw new TransactionException("Error setting rollback only", e); } }
public void rollback_only() throws NoTransaction { Thread current = Thread.currentThread(); if (! contexts.containsKey(current)) throw new NoTransaction(); try { Control control = (Control) contexts.get(current); control.get_coordinator().rollback_only(); control._release(); removeContext(current); } catch (Exception e){ if (logger.isDebugEnabled()) logger.debug("Exception: ", e); } }
/**Marks the current transaction such that is cannot be committed and only * rolled back. * * @param * * @return * * @exception NoTransaction There is no current transaction to mark rollback- * only. * * @see */ public void rollback_only() throws NoTransaction { // Get the reference of the current Coordinator. If there is none, raise the // NoTransaction exception. try { Coordinator coord = CurrentTransaction.getCurrentCoordinator(); // Tell the Coordinator to mark itself rollback-only. coord.rollback_only(); } catch( Throwable exc ) { throw new NoTransaction(); } }
public void setRollbackOnly() throws IllegalStateException, SystemException { int status = getStatus(); if (status != javax.transaction.Status.STATUS_MARKED_ROLLBACK && status != javax.transaction.Status.STATUS_ACTIVE) { throw new IllegalStateException(); } try { if (Configuration.isLocalFactory()) { ((ControlImpl) control).get_localCoordinator().rollback_only(); } else { control.get_coordinator().rollback_only(); } } catch (Inactive ex) { IllegalStateException ise = new IllegalStateException(); ise.initCause(ex); throw ise; } catch (Exception ex) { SystemException se = new SystemException(); se.initCause(ex); throw se; } }
currentCoord.rollback_only(); } catch (Inactive exc) { _logger.log(Level.FINE,"", exc);
c.rollback_only(); else throw new Unavailable();
c.rollback_only(); else throw new Unavailable();