Package com.iizix.txp.impl
Class AbstractActionActorTXPNode<SETTINGS extends AbstractSettings>
- java.lang.Object
- com.iizix.txp.impl.AbstractTXPNode
- com.iizix.txp.impl.AbstractActionActorTXPNode<SETTINGS>
 
 
- All Implemented Interfaces:
- IActionActorSettingsReceiver<SETTINGS>,- ITimeoutListener,- ITXPNode
 - Direct Known Subclasses:
- AbstractJavaActionActor,- DatabaseActionTXPNode
 - public abstract class AbstractActionActorTXPNode<SETTINGS extends AbstractSettings> extends AbstractTXPNode implements IActionActorSettingsReceiver<SETTINGS> The abstract TXP node that the Action Actors needs to extend from.- Author:
- Christopher Mindus
 
- Nested Class Summary- Nested classes/interfaces inherited from interface com.iizix.txp.ITXPNode- ITXPNode.State
 
 - Field Summary- Fields inherited from class com.iizix.txp.impl.AbstractTXPNode- hasProcessTimedOut, hasTimedOut, hasTimedOutWaiting, pid, process, state, timeout, timeoutTask, txplog
 
 - Constructor Summary- Constructors - Modifier - Constructor - Description - protected- AbstractActionActorTXPNode()Default constructor used by the- AbstractJavaActionActorconstructor.- protected- AbstractActionActorTXPNode(VSActionTXProcess actionProcess, SETTINGS settings)Constructor for action actors.
 - Method Summary- All Methods Instance Methods Abstract Methods Concrete Methods - Modifier and Type - Method - Description - void- assignSettings(VSActionTXProcess actionProcess, SETTINGS settings)Called when the construction is performed of the node to assign the settings property container.- protected void- cleanUp()Cleans up once by calling- onCleanup()- protected void- createLogger()Overrides logger creation to set our own.- abstract void- execute()Method called to do the serialized work of the action actor.- java.lang.Throwable- executeAction()Method called to do the serialized execution work of the action actor.- void- forget(ITXProcess process)Notifies the node it got disassociated from the process ie it can abort, rollback (if needed) and forget about the process.- VSAction- getAction()Gets the action associated with the VirtualSpace Action TXP process.- VSActionTXProcess- getActionProcess()Gets the action transaction process.- java.lang.String- getLoggerInfo()Gets the node information string.- SETTINGS- getSettings()Gets the settings container.- VirtualSpace- getVirtualSpace()Gets the VirtualSpace for the process VirtualSpace Action TXP process.- protected void- onCleanup()Called last to perform clean-up.- protected void- prepare()Action actor specific action needed for preparation.- java.lang.Throwable- prepareAction()Method called to do the serialized preparation of the action actor.- protected void- setState(ITXPNode.State state)Changes the node's state to the specified state.- Methods inherited from class com.iizix.txp.impl.AbstractTXPNode- cancelTimeout, getPid, getProcess, getState, getTimeout, hasProcessTimedOut, hasTimedOut, hasTimedOutWaiting, isIdempotent, log, onTimeout, processTimeout, ready, recover, retry, setTimeout, timeout, undo
 
 
- Constructor Detail- AbstractActionActorTXPNode- protected AbstractActionActorTXPNode() Default constructor used by the- AbstractJavaActionActorconstructor.
 - AbstractActionActorTXPNode- protected AbstractActionActorTXPNode(VSActionTXProcess actionProcess, SETTINGS settings) Constructor for action actors.
 
 - Method Detail- createLogger- protected final void createLogger() Overrides logger creation to set our own.- Overrides:
- createLoggerin class- AbstractTXPNode
 
 - setState- protected void setState(ITXPNode.State state) Changes the node's state to the specified state. Any changes in the state will be logged.- Parameters:
- state- The new node state.
 
 - assignSettings- public final void assignSettings(VSActionTXProcess actionProcess, SETTINGS settings) throws java.lang.IllegalStateException Called when the construction is performed of the node to assign the settings property container.- This method is called by the framework and should not be called. - Specified by:
- assignSettingsin interface- IActionActorSettingsReceiver<SETTINGS extends AbstractSettings>
- Parameters:
- actionProcess- The action process.
- settings- The property container instance.
- Throws:
- java.lang.IllegalStateException- If called outside of the framework.
 
 - getSettings- public final SETTINGS getSettings() Gets the settings container. If this call is done in the constructor, it will return null.- Specified by:
- getSettingsin interface- IActionActorSettingsReceiver<SETTINGS extends AbstractSettings>
- Returns:
- The settings container, or null if not yet set. After constructor has been called, this value is non-null.
 
 - getActionProcess- public final VSActionTXProcess getActionProcess() Gets the action transaction process.- Specified by:
- getActionProcessin interface- IActionActorSettingsReceiver<SETTINGS extends AbstractSettings>
- Returns:
- The VSActionTXProcess instance invoking this Java Actor, or nullif called in e.g. the constructor and the initialization usingassignSettings(VSActionTXProcess, AbstractSettings)
 
 - getAction- public final VSAction getAction() Gets the action associated with the VirtualSpace Action TXP process.- Specified by:
- getActionin interface- IActionActorSettingsReceiver<SETTINGS extends AbstractSettings>
- Returns:
- The VSAction instance invoking this Java Actor, or nullif called in e.g. the constructor and the initialization usingassignSettings(VSActionTXProcess, AbstractSettings)
 
 - getVirtualSpace- public final VirtualSpace getVirtualSpace() Gets the VirtualSpace for the process VirtualSpace Action TXP process.- Specified by:
- getVirtualSpacein interface- IActionActorSettingsReceiver<SETTINGS extends AbstractSettings>
- Returns:
- The VirtualSpace instance invoking this Java Actor, or nullif called in e.g. the constructor and the initialization usingassignSettings(VSActionTXProcess, AbstractSettings)
 
 - getLoggerInfo- public final java.lang.String getLoggerInfo() Gets the node information string.- Returns:
- Node information string information to pass to the logger output, or null for not yet initialized.
 
 - prepareAction- public final java.lang.Throwable prepareAction() Method called to do the serialized preparation of the action actor.- This method is called once all nodes are associated with the TXProcess and each node has processed "begin" successfully. - If this action fails preparation, the process is rolled back, and this is handled by the framework. - Returns:
- null for success of the action prepare stage, otherwise the exception.
 
 - prepare- protected void prepare() throws java.lang.ExceptionAction actor specific action needed for preparation. This method is called from the prepareAction.- This method is overridden by the action actor as required. - Throws:
- java.lang.Exception- For any error in the prepare phase.
 
 - executeAction- public final java.lang.Throwable executeAction() Method called to do the serialized execution work of the action actor.- This method is called once all nodes are associated with the TXProcess, each node has processed "begin" and "prepare" successfully. - Returns:
- null for success of the action execution, otherwise the exception.
 
 - execute- public abstract void execute() throws java.lang.ExceptionMethod called to do the serialized work of the action actor. This method is called once all nodes are associated with the TXProcess and each node has processed "begin" successfully.- This method must be implemented by the action actor. - Throws:
- java.lang.Exception- For any error in the execution phase.
 
 - forget- public void forget(ITXProcess process) Notifies the node it got disassociated from the process ie it can abort, rollback (if needed) and forget about the process.
 - cleanUp- protected final void cleanUp() Cleans up once by calling- onCleanup()
 - onCleanup- protected void onCleanup() Called last to perform clean-up.- Override this method to perform the required clean-up of resources, etc.