Class CadaverActivationRecord
java.lang.Object
com.arjuna.ats.arjuna.StateManager
com.arjuna.ats.arjuna.coordinator.AbstractRecord
com.arjuna.ats.internal.arjuna.abstractrecords.ActivationRecord
com.arjuna.ats.internal.arjuna.abstractrecords.CadaverActivationRecord
-
Field Summary
Fields inherited from class com.arjuna.ats.arjuna.StateManager
modifyingActions, objectModel, objectUid, synchronizationLock, usingActions
-
Constructor Summary
ModifierConstructorDescriptionprotected
-
Method Summary
Modifier and TypeMethodDescriptionint
nestedAbort causes the reset_state function of the object to be invoked passing it the saved ObjectStatus.int
nestedCommit does nothing since the passing of the state up to the parent action is handled by the record list merging system.int
A prepare for a nested transaction has occurred.boolean
Determine if records are discarded on action abort or must be propagated to parents.boolean
Should we replace the record presented with the current record?int
topLevelAbort for Activation records is exactly like a nested abort.int
A commit of a top-level transaction has occurred.int
A prepare for a top-level transaction has occurred.type()
Re-implementation of abstract methods inherited from base class.Methods inherited from class com.arjuna.ats.internal.arjuna.abstractrecords.ActivationRecord
alter, merge, print, restore_state, save_state, setValue, shouldAdd, shouldAlter, shouldMerge, typeIs, value
Methods inherited from class com.arjuna.ats.arjuna.coordinator.AbstractRecord
clearHeuristicDecision, create, doSave, equals, forgetHeuristic, getNext, getPrevious, getTypeOfObject, greaterThan, isPermittedTopLevelOnePhaseCommit, lessThan, nestedCleanup, nestedOnePhaseCommit, order, propagateOnCommit, replace, save_state, setNext, setPrevious, topLevelCleanup, topLevelOnePhaseCommit
Methods inherited from class com.arjuna.ats.arjuna.StateManager
activate, activate, cleanup, createLists, deactivate, deactivate, deactivate, destroy, disable, forgetAction, get_uid, getCreationTimeMillis, getMutex, getObjectModel, getStore, getStoreRoot, loadObjectState, lockMutex, modified, objectType, packHeader, persist, rememberAction, setStatus, setupStore, setupStore, setupStore, status, terminate, tryLockMutex, unlockMutex, unpackHeader
-
Constructor Details
-
CadaverActivationRecord
-
CadaverActivationRecord
protected CadaverActivationRecord()
-
-
Method Details
-
propagateOnAbort
public boolean propagateOnAbort()Description copied from class:AbstractRecord
Determine if records are discarded on action abort or must be propagated to parents.- Overrides:
propagateOnAbort
in classAbstractRecord
- Returns:
true
if the record should be propagated to the parent transaction if the current transaction rolls back,false
otherwise. The default isfalse
.
-
nestedAbort
public int nestedAbort()Description copied from class:ActivationRecord
nestedAbort causes the reset_state function of the object to be invoked passing it the saved ObjectStatus.- Overrides:
nestedAbort
in classActivationRecord
- Returns:
TwoPhaseOutcome
to indicate success/failure.- See Also:
-
nestedCommit
public int nestedCommit()Description copied from class:ActivationRecord
nestedCommit does nothing since the passing of the state up to the parent action is handled by the record list merging system. In fact since nested_prepare returns PREPARE_READONLY this function should never actually be called.- Overrides:
nestedCommit
in classActivationRecord
- Returns:
TwoPhaseOutcome
to indicate success/failure.- See Also:
-
nestedPrepare
public int nestedPrepare()Description copied from class:AbstractRecord
A prepare for a nested transaction has occurred.- Overrides:
nestedPrepare
in classActivationRecord
- Returns:
TwoPhaseOutcome
to indicate success/failure.- See Also:
-
topLevelAbort
public int topLevelAbort()Description copied from class:ActivationRecord
topLevelAbort for Activation records is exactly like a nested abort.- Overrides:
topLevelAbort
in classActivationRecord
- Returns:
TwoPhaseOutcome
to indicate success/failure.- See Also:
-
topLevelCommit
public int topLevelCommit()Description copied from class:AbstractRecord
A commit of a top-level transaction has occurred.- Overrides:
topLevelCommit
in classActivationRecord
- Returns:
TwoPhaseOutcome
to indicate success/failure.- See Also:
-
topLevelPrepare
public int topLevelPrepare()Description copied from class:AbstractRecord
A prepare for a top-level transaction has occurred.- Overrides:
topLevelPrepare
in classActivationRecord
- Returns:
TwoPhaseOutcome
to indicate success/failure.- See Also:
-
type
Description copied from class:AbstractRecord
Re-implementation of abstract methods inherited from base class.- Overrides:
type
in classActivationRecord
-
shouldReplace
Description copied from class:AbstractRecord
Should we replace the record presented with the current record?- Overrides:
shouldReplace
in classActivationRecord
- Parameters:
ar
- The record to try to replace.- Returns:
true
if the record should be replaced,false
otherwise.
-