/** * Create a new instance with the specified parent. */ public ControlImple (Control parentCon, ArjunaTransactionImple parentTran) { if (jtsLogger.logger.isTraceEnabled()) { jtsLogger.logger.trace("ControlImple::ControlImple ( Control parentCon, " + ((parentTran != null) ? parentTran.get_uid() : Uid.nullUid()) + " )"); } _theTerminator = null; _theCoordinator = null; _parentControl = parentCon; _transactionHandle = new ArjunaTransactionImple(_parentControl, parentTran); _theUid = _transactionHandle.get_uid(); _transactionImpl = null; _myControl = null; _destroyed = false; /* * Pass a pointer to the control to the transaction so it knows what the * control is. We use this for transaction comparison and * thread-to-context management. */ _transactionHandle.setControlHandle(this); addControl(); }
+ get_uid()); doBeforeCompletion(); parentTransaction.removeChildAction(this); Abort(); currentStatus = determineStatus(this); doAfterCompletion(currentStatus); destroyAction();
public boolean activate() { if (!activated) activated = super.activate(); return activated; }
+ get_uid()); if (ArjunaTransactionImple._checkedTransactions && !checkAccess()) doBeforeCompletion(); parentTransaction.removeChildAction(this); currentStatus = determineStatus(this); doAfterCompletion(currentStatus); destroyAction(); || (status == ActionStatus.ABORTED) || (status == ActionStatus.H_ROLLBACK)) { if (jtsLogger.logger.isInfoEnabled()) { jtsLogger.i18NLogger.info_rollback_aborted_transaction(get_transaction_name());
+ get_uid() + " , " + ((parent != null) ? parent.get_uid() : Uid.nullUid()) + " >"); parent.addChildAction(this); currentStatus = determineStatus(this); rootAction = this; hashCode = get_uid().hashCode();
+ get_uid()); throw new BAD_PARAM(0, CompletionStatus.COMPLETED_NO); currentStatus = determineStatus(this); + get_uid() + " : not a subtransaction!"); corbaRec = createOTSRecord(false, r, coord); if (add(corbaRec) != AddOutcome.AR_ADDED) + get_uid() + " : could not add."); + get_uid() + " : subtran_aware_resource registered");
public void doCommit (boolean report_heuristics) throws HeuristicHazard, SystemException int outcome = super.status(); outcome = super.End(report_heuristics); parentTransaction.removeChildAction(this); parentTransaction.removeChildAction(this); super.destroyAction();
+ r + " ) - called for " + get_uid()); currentStatus = determineStatus(this); + get_uid() + " ::register_resource: "); jtsLogger.i18NLogger.warn_orbspecific_coordinator_rccreate(get_uid(), e); rollback_only(); jtsLogger.i18NLogger.warn_orbspecific_coordinator_rbofail("ArjunaTransactionImple.register_resource", get_uid(), ex2); + get_uid() + " - subtransaction aware resource: YES"); corbaRec = createOTSRecord(true, r, coord, recoveryCoordinatorUid); + get_uid() + " - subtransaction aware resource: NO"); + get_uid() + " ::register_resource: Simple resource - " + ex); corbaRec = createOTSRecord(true, r, null, recoveryCoordinatorUid); + get_uid() + " : catch (SystemException) - " + e2); + get_uid() + " : catch (...) - " + e3); + get_uid() + " : try end");
info.currentDepth = ctx.getImplHandle().getHierarchy().depth(); info.numberOfThreads = ctx.getImplHandle().activeThreads();
if ((_transactionHandle.activeThreads() != 0) && (!force)) + get_uid() + " - transaction has " + _transactionHandle.activeThreads() + " active threads."); || ((_transactionHandle.status() == ActionStatus.CREATED) || (_transactionHandle.status() == ActionStatus.ABORTED) || (_transactionHandle.status() == ActionStatus.COMMITTED)))
/** * @message com.arjuna.ats.internal.jts.orbspecific.coordinator.uidfail {0} - * could not get unique identifier of object. */ protected final AbstractRecord createOTSRecord (boolean propagate, Resource resource, Coordinator coord) { return createOTSRecord(propagate, resource, coord, null); }
_controlImpl.getImplHandle().commit(report_heuristics); else
+ get_uid()); if (ArjunaTransactionImple._checkedTransactions && !checkAccess()) (outcome == ActionStatus.ABORT_ONLY && TxControl.isBeforeCompletionWhenRollbackOnly())) doBeforeCompletion(); parentTransaction.removeChildAction(this); currentStatus = determineStatus(this); doAfterCompletion(currentStatus); destroyAction(); } else if (outcome == ActionStatus.ABORTED || outcome == ActionStatus.H_ROLLBACK) { throw new TRANSACTION_ROLLEDBACK(ExceptionCodes.FAILED_TO_COMMIT,
+ get_uid() + " , " + ((parent != null) ? parent.get_uid() : Uid.nullUid()) + " >"); parent.addChildAction(this); currentStatus = determineStatus(this); rootAction = this; hashCode = get_uid().hashCode();
+ get_uid()); throw new BAD_PARAM(0, CompletionStatus.COMPLETED_NO); currentStatus = determineStatus(this); + get_uid() + " : not a subtransaction!"); corbaRec = createOTSRecord(false, r, coord); if (add(corbaRec) != AddOutcome.AR_ADDED) + get_uid() + " : could not add."); + get_uid() + " : subtran_aware_resource registered");
public void doCommit (boolean report_heuristics) throws HeuristicHazard, SystemException int outcome = super.status(); outcome = super.End(report_heuristics); parentTransaction.removeChildAction(this); parentTransaction.removeChildAction(this); super.destroyAction();
+ r + " ) - called for " + get_uid()); currentStatus = determineStatus(this); + get_uid() + " ::register_resource: "); { get_uid(), e }); rollback_only(); { "ArjunaTransactionImple.register_resource", get_uid(), ex2 }); + get_uid() + " - subtransaction aware resource: YES"); corbaRec = createOTSRecord(true, r, coord, recoveryCoordinatorUid); + get_uid() + " - subtransaction aware resource: NO"); + get_uid() + " ::register_resource: Simple resource - " + ex); corbaRec = createOTSRecord(true, r, null, recoveryCoordinatorUid); + get_uid() + " : catch (SystemException) - " + e2); + get_uid() + " : catch (...) - " + e3); + get_uid() + " : try end");
info.currentDepth = ctx.getImplHandle().getHierarchy().depth(); info.numberOfThreads = ctx.getImplHandle().activeThreads();
if ((_transactionHandle.activeThreads() != 0) && (!force)) + get_uid() + " - transaction has " + _transactionHandle.activeThreads() + " active threads."); || ((_transactionHandle.status() == ActionStatus.CREATED) || (_transactionHandle.status() == ActionStatus.ABORTED) || (_transactionHandle.status() == ActionStatus.COMMITTED)))
protected final AbstractRecord createOTSRecord (boolean propagate, Resource resource, Coordinator coord) { return createOTSRecord(propagate, resource, coord, null); }