public class ActionStartXCommand extends ActionXCommand<ActionXCommand.ActionExecutorContext>
ActionXCommand.ActionExecutorContext, ActionXCommand.ForkedActionExecutorContext| Modifier and Type | Field and Description |
|---|---|
protected String |
actionId |
protected ActionXCommand.ActionExecutorContext |
context |
static String |
COULD_NOT_START |
static String |
EL_ERROR |
static String |
EL_EVAL_ERROR |
static String |
EXEC_DATA_MISSING |
static String |
START_DATA_MISSING |
protected WorkflowActionBean |
wfAction |
protected WorkflowJobBean |
wfJob |
RECOVERY_ID_SEPARATOR, RETRYINSTR_FAILED_JOBS_COUNTER_NAME, INSTR_KILLED_JOBS_COUNTER_NAME, INSTR_SUCCEEDED_JOBS_COUNTER_NAME, KEEP_WF_ACTION_DIRDEFAULT_LOCK_TIMEOUT, DEFAULT_REQUEUE_DELAY, dryrun, eventService, instrumentation, LOG| Constructor and Description |
|---|
ActionStartXCommand(String actionId,
String type) |
ActionStartXCommand(WorkflowJobBean job,
String actionId,
String type) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
callActionEnd() |
protected void |
endWF() |
protected ActionXCommand.ActionExecutorContext |
execute()
Command execution body.
|
protected ActionXCommand.ActionExecutorContext |
getContext(boolean isRetry,
boolean isUserRetry)
Get action executor context
|
String |
getEntityKey()
Return the entity key for the command.
|
String |
getKey()
Get command key
|
protected void |
handleError(ActionXCommand.ActionExecutorContext context,
WorkflowJobBean workflow,
WorkflowActionBean action) |
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 |
queue(XCommand<?> command,
long msDelay)
Queue a command for delayed execution after the current command execution completes.
|
protected void |
queueCommandForTransientFailure(long retryDelayMillis) |
protected void |
setLogInfo()
Set the thread local logInfo with the context of this command and reset log prefix.
|
protected void |
updateJobLastModified() |
protected void |
verifyPrecondition()
Verify the precondition for the command after a lock has been obtain, just before executing the command.
|
addActionCron, failJob, failJob, handleError, handleNonTransient, handleTransient, handleUserRetry, incrActionCountergenerateEvent, generateEvent, generateEvent, updateParentIfNecessary, updateParentIfNecessarycall, eagerLoadState, eagerVerifyPrecondition, executeInterrupts, getCreatedTime, getInstrumentation, getLockTimeOut, getLog, getName, getPriority, getRequeueDelay, getType, inInterruptMode, isReQueueRequired, queue, resetUsed, setInterruptMode, toStringpublic static final String EL_ERROR
public static final String EL_EVAL_ERROR
public static final String COULD_NOT_START
public static final String START_DATA_MISSING
public static final String EXEC_DATA_MISSING
protected WorkflowJobBean wfJob
protected WorkflowActionBean wfAction
protected ActionXCommand.ActionExecutorContext context
public ActionStartXCommand(String actionId, String type)
public ActionStartXCommand(WorkflowJobBean job, String actionId, String type)
protected void setLogInfo()
XCommandsetLogInfo in class XCommand<ActionXCommand.ActionExecutorContext>protected boolean isLockRequired()
XCommandSubclasses should override this method if they require locking.
isLockRequired in class XCommand<ActionXCommand.ActionExecutorContext>true/falsepublic String getEntityKey()
XCommandgetEntityKey in interface XCallable<ActionXCommand.ActionExecutorContext>getEntityKey in class XCommand<ActionXCommand.ActionExecutorContext>protected void loadState() throws CommandException
XCommandSubclasses must implement this method and load the state needed to do the precondition check and execute the command.
loadState in class XCommand<ActionXCommand.ActionExecutorContext>CommandExceptionprotected void verifyPrecondition() throws CommandException, PreconditionException
XCommandverifyPrecondition in class XCommand<ActionXCommand.ActionExecutorContext>CommandException - thrown if the precondition is not met.PreconditionExceptionprotected ActionXCommand.ActionExecutorContext execute() throws CommandException
XCommandThis 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<ActionXCommand.ActionExecutorContext>CommandException - thrown if the command execution failed.protected void callActionEnd() throws CommandException
CommandExceptionprotected ActionXCommand.ActionExecutorContext getContext(boolean isRetry, boolean isUserRetry)
isRetry - isUserRetry - protected void updateJobLastModified()
protected void endWF() throws CommandException
CommandExceptionprotected void handleError(ActionXCommand.ActionExecutorContext context, WorkflowJobBean workflow, WorkflowActionBean action) throws CommandException
CommandExceptionpublic String getKey()
XCommandgetKey in interface XCallable<ActionXCommand.ActionExecutorContext>getKey in class XCommand<ActionXCommand.ActionExecutorContext>protected void queueCommandForTransientFailure(long retryDelayMillis)
queueCommandForTransientFailure in class ActionXCommand<ActionXCommand.ActionExecutorContext>protected void queue(XCommand<?> command, long msDelay)
XCommandAll commands queued during the execution of the current command with the same delay will be queued for a single serial execution.
If the command execution throws an exception, no command will be effectively queued.
queue in class XCommand<ActionXCommand.ActionExecutorContext>command - command to queue.msDelay - delay in milliseconds.Copyright © 2018 Apache Software Foundation. All rights reserved.