/** * If nested top-level transaction, save current context for resumption * later. */ public synchronized void begin () throws SystemException, SubtransactionsUnavailable { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("TopLevelTransaction::begin ()"); } // already begun? if (_originalTransaction != null) { throw new INVALID_TRANSACTION(); } CurrentImple current = OTSImpleManager.current(); _originalTransaction = current.suspend(); if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("TopLevelTransaction::begin - suspend transaction " + _originalTransaction); } super.begin(); }
public void finalize () { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("AtomicTransaction.finalize ()"); } if (_theAction != null) { if (getStatus() == Status.StatusActive) { jtsLogger.i18NLogger.warn_extensions_atscope("AtomicTransaction.finalize", get_uid()); String name = null; try { name = get_transaction_name(); } catch (SystemException ex) { jtsLogger.i18NLogger.warn_extensions_namefail(ex); } try { rollback(); // tidies up for us. } catch (NoTransaction e) { jtsLogger.i18NLogger.warn_extensions_abortfailnoexist(name); } catch (Exception e) { jtsLogger.i18NLogger.warn_extensions_abortfail(name); } } } }
protected AtomicTransaction (ControlWrapper tx) { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("AtomicTransaction::AtomicTransaction ()"); } _theAction = tx; _theStatus = getStatus(); /* * Once a transaction is created there is no way to get its timeout. So, * we use the timeout associated with the current thread, since that is * most likely to be the right value. */ _timeout = get_timeout(); }
if (!validTransaction()) _theStatus = getStatus(); _theStatus = getStatus(); _theStatus = getStatus();
/** * Create a new transaction. It is not running at this stage. */ public AtomicTransaction () { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("AtomicTransaction::AtomicTransaction ()"); } _theAction = null; _theStatus = Status.StatusNoTransaction; _timeout = get_timeout(); }
/** * @return the status of this transaction. */ public org.omg.CosTransactions.Status get_status () throws SystemException { _theStatus = getStatus(); if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("AtomicTransaction::get_status called for " + _theAction + " returning " + Utility.stringStatus(_theStatus)); } return _theStatus; }
public synchronized void commit (boolean report_heuristics) throws SystemException, NoTransaction, HeuristicMixed, HeuristicHazard, WrongTransaction { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("TopLevelTransaction::commit ( " + report_heuristics + " ) called for " + _originalTransaction); } if (validTransaction()) { try { super.commit(report_heuristics); } catch (WrongTransaction e1) { resumeTransaction(); throw e1; } catch (SystemException e2) { resumeTransaction(); throw e2; } resumeTransaction(); } else throw new WrongTransaction(); }
public void finalize () { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("TopLevelTransaction.finalize ()"); } if (_originalTransaction != null) { String name = null; Coordinator coord = null; try { coord = _originalTransaction.get_coordinator(); if (coord != null) { name = coord.get_transaction_name(); } } catch (Exception e) { } coord = null; jtsLogger.i18NLogger.warn_extensions_tltnestedscope(((name != null) ? name : "UNKNOWN")); name = null; _originalTransaction = null; } super.finalize(); }
public synchronized void rollback () throws SystemException, NoTransaction, WrongTransaction { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("TopLevelTransaction::rollback () called for " + _originalTransaction); } if (validTransaction()) { try { super.rollback(); } catch (WrongTransaction e1) { resumeTransaction(); throw e1; } catch (SystemException e2) { resumeTransaction(); throw e2; } resumeTransaction(); } else throw new WrongTransaction(); }
String transactionName = get_transaction_name(); String currentTransactionName = currentTransaction.get_transaction_name();
if (!validTransaction()) _theStatus = getStatus(); _theStatus = getStatus(); _theStatus = getStatus();
/** * Create a new transaction. It is not running at this stage. */ public AtomicTransaction () { if (jtsLogger.logger.isDebugEnabled()) { jtsLogger.logger.debug(DebugLevel.CONSTRUCTORS, VisibilityLevel.VIS_PUBLIC, com.arjuna.ats.jts.logging.FacilityCode.FAC_OTS, "AtomicTransaction::AtomicTransaction ()"); } _theAction = null; _theStatus = Status.StatusNoTransaction; _timeout = get_timeout(); }
/** * @return the status of this transaction. */ public org.omg.CosTransactions.Status get_status () throws SystemException { _theStatus = getStatus(); if (jtsLogger.logger.isDebugEnabled()) { jtsLogger.logger.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC, com.arjuna.ats.jts.logging.FacilityCode.FAC_OTS, "AtomicTransaction::get_status called for " + _theAction + " returning " + Utility.stringStatus(_theStatus)); } return _theStatus; }
public synchronized void commit (boolean report_heuristics) throws SystemException, NoTransaction, HeuristicMixed, HeuristicHazard, WrongTransaction { if (jtsLogger.logger.isDebugEnabled()) { jtsLogger.logger.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC, com.arjuna.ats.jts.logging.FacilityCode.FAC_OTS, "TopLevelTransaction::commit ( "+report_heuristics+" ) called for "+_originalTransaction); } if (validTransaction()) { try { super.commit(report_heuristics); } catch (WrongTransaction e1) { resumeTransaction(); throw e1; } catch (SystemException e2) { resumeTransaction(); throw e2; } resumeTransaction(); } else throw new WrongTransaction(); }
public synchronized void rollback () throws SystemException, NoTransaction, WrongTransaction { if (jtsLogger.logger.isDebugEnabled()) { jtsLogger.logger.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC, com.arjuna.ats.jts.logging.FacilityCode.FAC_OTS, "TopLevelTransaction::rollback () called for "+_originalTransaction); } if (validTransaction()) { try { super.rollback(); } catch (WrongTransaction e1) { resumeTransaction(); throw e1; } catch (SystemException e2) { resumeTransaction(); throw e2; } resumeTransaction(); } else throw new WrongTransaction(); }
String transactionName = get_transaction_name(); String currentTransactionName = currentTransaction.get_transaction_name();
if (getStatus() == Status.StatusActive) { "AtomicTransaction.finalize", get_uid().toString() }); name = get_transaction_name(); rollback(); // tidies up for us.