public class LoopTaskUtils extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
LOOP_STATE_NAME_PATTERN |
| 构造器和说明 |
|---|
LoopTaskUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
acquireNextLoopCounter(ProcessContext context) |
static void |
createLoopCounterContext(ProcessContext context)
create loop counter context
|
static ProcessContext |
createLoopEventContext(ProcessContext context,
int loopCounter)
create context for async publish
|
static String |
decideCurrentExceptionRoute(List<ProcessContext> subContextList,
StateMachine stateMachine)
decide current exception route for loop publish over
|
static StateInstance |
findOutLastNeedForwardStateInstance(ProcessContext context) |
static StateInstance |
findOutLastRetriedStateInstance(StateMachineInstance stateMachineInstance,
String stateName) |
static String |
generateLoopStateName(ProcessContext context,
String stateName)
generate loop state name like stateName-fork-1
|
static TaskState.Loop |
getLoopConfig(ProcessContext context,
State currentState)
get Loop Config from State
|
static boolean |
isCompletionConditionSatisfied(ProcessContext context)
check if satisfied completion condition
|
static boolean |
isForSubStateMachineForward(ProcessContext context)
forward with subStateMachine should check each loop state's status
|
static boolean |
matchLoop(State state)
match if state has loop property
|
static void |
putContextToParent(ProcessContext context,
List<ProcessContext> subContextList,
State state)
put loop out params to parent context
|
static void |
reloadLoopContext(ProcessContext context,
String forwardStateName)
reload loop counter context while forward
|
static int |
reloadLoopCounter(String stateName)
reload context loop counter from stateInstName
|
public static TaskState.Loop getLoopConfig(ProcessContext context, State currentState)
context - currentState - public static boolean matchLoop(State state)
state - public static void createLoopCounterContext(ProcessContext context)
context - public static void reloadLoopContext(ProcessContext context, String forwardStateName)
context - forwardStateName - public static ProcessContext createLoopEventContext(ProcessContext context, int loopCounter)
context - loopCounter - acquire new counter if is -1, else means a specific loop-counterpublic static StateInstance findOutLastNeedForwardStateInstance(ProcessContext context)
public static StateInstance findOutLastRetriedStateInstance(StateMachineInstance stateMachineInstance, String stateName)
public static boolean isCompletionConditionSatisfied(ProcessContext context)
context - public static int acquireNextLoopCounter(ProcessContext context)
public static String generateLoopStateName(ProcessContext context, String stateName)
stateName - context - public static int reloadLoopCounter(String stateName)
stateName - generateLoopStateName(ProcessContext, String)public static void putContextToParent(ProcessContext context, List<ProcessContext> subContextList, State state)
context - public static boolean isForSubStateMachineForward(ProcessContext context)
context - public static String decideCurrentExceptionRoute(List<ProcessContext> subContextList, StateMachine stateMachine)
subContextList - stateMachine - Copyright © 2022 Seata. All rights reserved.