Package org.jboss.jbossts.star.resource
Class RESTRecord
- java.lang.Object
-
- com.arjuna.ats.arjuna.StateManager
-
- com.arjuna.ats.arjuna.coordinator.AbstractRecord
-
- org.jboss.jbossts.star.resource.RESTRecord
-
- All Implemented Interfaces:
Comparable
public class RESTRecord extends com.arjuna.ats.arjuna.coordinator.AbstractRecord implements Comparable
Log record for driving participants through 2PC and recovery
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.jboss.logging.Loggerlog
-
Constructor Summary
Constructors Constructor Description RESTRecord()RESTRecord(String txId, String coordinatorURI, String participantURI, String terminateURI)RESTRecord(String txId, String coordinatorURI, String participantURI, String commitURI, String prepareURI, String rollbackURI, String commitOnePhaseURI)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidalter(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)intcompareTo(Object o)booleandoSave()booleanforgetHeuristic()longgetAge()StringgetCoordinatorURI()protected StringgetParticipantURI()StringgetRecoveryURI()StringgetStatus()StringgetTxId()StringhttpRequest(int[] expect, String url, String method, String mediaType, String content, Map<String,String> linkHeaders, Map<String,String> reqHeaders)voidmerge(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)intnestedAbort()intnestedCommit()intnestedOnePhaseCommit()intnestedPrepare()booleanrestore_state(com.arjuna.ats.arjuna.state.InputObjectState os, int t)booleansave_state(com.arjuna.ats.arjuna.state.OutputObjectState os, int t)voidsetFault(String name)voidsetRecoveryURI(String recoveryURI)voidsetValue(Object o)booleanshouldAdd(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)booleanshouldAlter(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)booleanshouldMerge(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)booleanshouldReplace(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)inttopLevelAbort()inttopLevelCommit()inttopLevelOnePhaseCommit()For commit_one_phase we can do whatever we want since the transaction outcome is whatever we want.inttopLevelPrepare()Stringtype()inttypeIs()static StringtypeName()Objectvalue()-
Methods inherited from class com.arjuna.ats.arjuna.coordinator.AbstractRecord
clearHeuristicDecision, create, equals, getNext, getPrevious, getTypeOfObject, greaterThan, isPermittedTopLevelOnePhaseCommit, lessThan, nestedCleanup, order, print, propagateOnAbort, propagateOnCommit, replace, setNext, setPrevious, topLevelCleanup
-
Methods inherited from class com.arjuna.ats.arjuna.StateManager
activate, activate, cleanup, createLists, deactivate, deactivate, deactivate, destroy, disable, forgetAction, get_uid, getMutex, getObjectModel, getStore, getStoreRoot, loadObjectState, lockMutex, modified, objectType, packHeader, persist, rememberAction, setStatus, setupStore, setupStore, setupStore, status, terminate, tryLockMutex, unlockMutex, unpackHeader
-
-
-
-
Method Detail
-
getCoordinatorURI
public String getCoordinatorURI()
-
getTxId
public String getTxId()
-
getRecoveryURI
public String getRecoveryURI()
-
getParticipantURI
protected String getParticipantURI()
-
typeIs
public int typeIs()
- Specified by:
typeIsin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
value
public Object value()
- Specified by:
valuein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
getStatus
public String getStatus()
-
getAge
public long getAge()
-
setValue
public void setValue(Object o)
- Specified by:
setValuein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
nestedAbort
public int nestedAbort()
- Specified by:
nestedAbortin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
nestedCommit
public int nestedCommit()
- Specified by:
nestedCommitin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
nestedPrepare
public int nestedPrepare()
- Specified by:
nestedPreparein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
forgetHeuristic
public boolean forgetHeuristic()
- Overrides:
forgetHeuristicin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
topLevelPrepare
public int topLevelPrepare()
- Specified by:
topLevelPreparein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
topLevelAbort
public int topLevelAbort()
- Specified by:
topLevelAbortin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
topLevelCommit
public int topLevelCommit()
- Specified by:
topLevelCommitin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
nestedOnePhaseCommit
public int nestedOnePhaseCommit()
- Overrides:
nestedOnePhaseCommitin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
topLevelOnePhaseCommit
public int topLevelOnePhaseCommit()
For commit_one_phase we can do whatever we want since the transaction outcome is whatever we want. Therefore, we do not need to save any additional recoverable state, such as a reference to the transaction coordinator, since it will not have an intentions list anyway.- Overrides:
topLevelOnePhaseCommitin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
save_state
public boolean save_state(com.arjuna.ats.arjuna.state.OutputObjectState os, int t)- Overrides:
save_statein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
restore_state
public boolean restore_state(com.arjuna.ats.arjuna.state.InputObjectState os, int t)- Overrides:
restore_statein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
type
public String type()
- Overrides:
typein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
typeName
public static String typeName()
-
doSave
public boolean doSave()
- Overrides:
doSavein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
merge
public void merge(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)
- Specified by:
mergein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
alter
public void alter(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)
- Specified by:
alterin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
shouldAdd
public boolean shouldAdd(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)
- Specified by:
shouldAddin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
shouldAlter
public boolean shouldAlter(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)
- Specified by:
shouldAlterin classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
shouldMerge
public boolean shouldMerge(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)
- Specified by:
shouldMergein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
shouldReplace
public boolean shouldReplace(com.arjuna.ats.arjuna.coordinator.AbstractRecord a)
- Specified by:
shouldReplacein classcom.arjuna.ats.arjuna.coordinator.AbstractRecord
-
setRecoveryURI
public void setRecoveryURI(String recoveryURI)
-
setFault
public void setFault(String name)
-
compareTo
public int compareTo(Object o)
- Specified by:
compareToin interfaceComparable
-
-