public class CompletedActionXCommand extends WorkflowXCommand<Void>
INSTR_FAILED_JOBS_COUNTER_NAME, INSTR_KILLED_JOBS_COUNTER_NAME, INSTR_SUCCEEDED_JOBS_COUNTER_NAME, KEEP_WF_ACTION_DIR
DEFAULT_LOCK_TIMEOUT, DEFAULT_REQUEUE_DELAY, dryrun, eventService, instrumentation, INSTRUMENTATION_GROUP, LOG
Constructor and Description |
---|
CompletedActionXCommand(String actionId,
String externalStatus,
Properties actionData) |
CompletedActionXCommand(String actionId,
String externalStatus,
Properties actionData,
int priority) |
CompletedActionXCommand(String actionId,
String externalStatus,
Properties actionData,
int priority,
int earlyRequeueCount) |
Modifier and Type | Method and Description |
---|---|
protected void |
eagerLoadState()
Load the necessary state to perform an eager precondition check.
|
protected void |
eagerVerifyPrecondition()
Verify the precondition for the command before obtaining a lock.
|
protected Void |
execute()
Command execution body.
|
String |
getEntityKey()
Return the entity key for the command.
|
protected boolean |
isLockRequired()
Indicate if the the command requires locking.
|
protected void |
loadState()
Load the necessary state to perform the precondition check and to execute the command.
|
protected void |
setLogInfo()
Set the thread local logInfo with the context of this command and reset log prefix.
|
protected void |
verifyPrecondition()
Verify the precondition for the command after a lock has been obtain, just before executing the command.
|
generateEvent, generateEvent, generateEvent, updateParentIfNecessary, updateParentIfNecessary
call, executeInterrupts, getCreatedTime, getInstrumentation, getKey, getLockTimeOut, getLog, getName, getPriority, getRequeueDelay, getType, inInterruptMode, isReQueueRequired, queue, queue, resetUsed, setInterruptMode, toString
public CompletedActionXCommand(String actionId, String externalStatus, Properties actionData, int priority, int earlyRequeueCount)
public CompletedActionXCommand(String actionId, String externalStatus, Properties actionData, int priority)
public CompletedActionXCommand(String actionId, String externalStatus, Properties actionData)
protected void setLogInfo()
XCommand
setLogInfo
in class XCommand<Void>
protected void eagerLoadState() throws CommandException
XCommand
This implementation does a NOP.
Subclasses should override this method and load the state needed to do an eager precondition check.
A trivial implementation is calling {link #loadState}.
eagerLoadState
in class XCommand<Void>
CommandException
protected void eagerVerifyPrecondition() throws CommandException, PreconditionException
XCommand
This implementation does a NOP.
A trivial implementation is calling {link #verifyPrecondition}.
eagerVerifyPrecondition
in class XCommand<Void>
CommandException
- thrown if the precondition is not met.PreconditionException
protected Void execute() throws CommandException
XCommand
This method will be invoked after the {link #loadState} and {link #verifyPrecondition} methods.
If the command requires locking, this method will be invoked ONLY if the lock has been acquired.
execute
in class XCommand<Void>
CommandException
- thrown if the command execution failed.public String getEntityKey()
XCommand
getEntityKey
in interface XCallable<Void>
getEntityKey
in class XCommand<Void>
protected boolean isLockRequired()
XCommand
Subclasses should override this method if they require locking.
isLockRequired
in class XCommand<Void>
true/false
protected void loadState() throws CommandException
XCommand
Subclasses must implement this method and load the state needed to do the precondition check and execute the command.
loadState
in class XCommand<Void>
CommandException
protected void verifyPrecondition() throws CommandException, PreconditionException
XCommand
verifyPrecondition
in class XCommand<Void>
CommandException
- thrown if the precondition is not met.PreconditionException
Copyright © 2018 Apache Software Foundation. All rights reserved.