枚举 ChainStatus

java.lang.Object
java.lang.Enum<ChainStatus>
dev.tinyflow.core.chain.ChainStatus
所有已实现的接口:
Serializable, Comparable<ChainStatus>, java.lang.constant.Constable

public enum ChainStatus extends Enum<ChainStatus>
链(Chain)执行生命周期状态枚举

该状态机描述了一个 Chain 实例从创建到终止的完整生命周期。 状态分为三类: - 初始状态:READY - 运行中状态:RUNNING, SUSPEND, WAITING - 终态(Terminal):SUCCEEDED, FAILED, CANCELLED(不可再变更)

设计原则: - 使用行业通用术语(如 SUCCEEDED/FAILED,而非 FINISHED_NORMAL/ABNORMAL) - 明确区分人工干预(SUSPEND)与系统调度(WAITING) - 终态互斥且不可逆,便于状态判断与持久化恢复

  • 嵌套类概要

    从类继承的嵌套类/接口 java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • 枚举常量概要

    枚举常量
    枚举常量
    说明
    已取消:Chain 被用户或系统主动终止,非因错误。
    错误(中间状态):执行中发生异常,但尚未终结(例如正在重试)。
    失败结束:Chain 因未处理的异常或错误条件而终止。
    初始状态:Chain 已创建,但尚未开始执行。
    运行中:Chain 正在执行节点逻辑(同步或异步)。
    成功完成:Chain 所有节点正常执行完毕,无错误发生。
    暂停(人工干预):Chain 因缺少外部输入而暂停,需用户主动恢复。
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    private final int
    状态的数值标识,可用于数据库存储或网络传输
  • 构造器概要

    构造器
    限定符
    构造器
    说明
    private
    ChainStatus(int value)
     
  • 方法概要

    修饰符和类型
    方法
    说明
    fromValue(int value)
     
    int
    获取状态对应的数值标识
    boolean
    判断当前状态是否表示成功完成
    boolean
    判断当前状态是否为终态(Terminal State)
    返回带有指定名称的该类型的枚举常量。
    static ChainStatus[]
    按照声明该枚举类型的常量的顺序, 返回一个包含这些常量的数组。

    从类继承的方法 java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • 枚举常量详细资料

    • READY

      public static final ChainStatus READY
      初始状态:Chain 已创建,但尚未开始执行。

      此状态下,Chain 的内存为空,节点尚未触发。 调用 Chain#executeChain#doExecute 后进入 RUNNING

    • RUNNING

      public static final ChainStatus RUNNING
      运行中:Chain 正在执行节点逻辑(同步或异步)。

      只要至少一个节点仍在处理(包括等待 Phaser 同步),状态即为 RUNNING。 遇到挂起条件(如缺少参数、loop 间隔)时,会转为 SUSPEND

    • SUSPEND

      public static final ChainStatus SUSPEND
      暂停(人工干预):Chain 因缺少外部输入而暂停,需用户主动恢复。

      典型场景: - 节点参数缺失且标记为 required(等待用户提交) - 人工审批节点(等待管理员操作)

      恢复方式:调用 Chain.resume(Map) 注入所需变量。 监听器:通过 dev.tinyflow.core.chain.listener.ChainSuspendListener 感知。

    • ERROR

      public static final ChainStatus ERROR
      错误(中间状态):执行中发生异常,但尚未终结(例如正在重试)。

      此状态表示:Chain 遇到错误,但仍在尝试恢复(如重试机制触发)。 如果重试成功,可回到 RUNNING;如果重试耗尽,则进入 FAILED

      ⚠️ 注意:此状态 不是终态,Chain 仍可恢复。

    • SUCCEEDED

      public static final ChainStatus SUCCEEDED
      成功完成:Chain 所有节点正常执行完毕,无错误发生。

      终态(Terminal State)—— 状态不可再变更。 此状态下,Chain 的执行结果(executeResult)有效。

    • FAILED

      public static final ChainStatus FAILED
      失败结束:Chain 因未处理的异常或错误条件而终止。

      终态(Terminal State)—— 状态不可再变更。 常见原因:节点抛出异常、重试耗尽、条件校验失败等。 错误详情可通过 ChainState.getError() 获取。

    • CANCELLED

      public static final ChainStatus CANCELLED
      已取消:Chain 被用户或系统主动终止,非因错误。

      终态(Terminal State)—— 状态不可再变更。 典型场景: - 用户点击“取消”按钮 - 超时自动取消(如审批超时) - 父流程终止子流程

      FAILED 的区别:CANCELLED 是预期行为,通常不计入错误率。

  • 字段详细资料

    • value

      private final int value
      状态的数值标识,可用于数据库存储或网络传输
  • 构造器详细资料

  • 方法详细资料

    • values

      public static ChainStatus[] values()
      按照声明该枚举类型的常量的顺序, 返回一个包含这些常量的数组。
      返回:
      按照声明该枚举类型的常量的顺序返回的包含这些常量的数组
    • valueOf

      public static ChainStatus valueOf(String name)
      返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      返回带有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果该枚举类型没有带有指定名称的常量
      NullPointerException - 如果参数为空值
    • isTerminal

      public boolean isTerminal()
      判断当前状态是否为终态(Terminal State)

      终态包括:SUCCEEDED, FAILED, CANCELLED 一旦进入终态,Chain 不可再恢复或继续执行。

      返回:
      如果是终态,返回 true;否则返回 false
    • isSuccess

      public boolean isSuccess()
      判断当前状态是否表示成功完成
      返回:
      如果是 SUCCEEDED,返回 true;否则返回 false
    • getValue

      public int getValue()
      获取状态对应的数值标识
      返回:
      状态值
    • fromValue

      public static ChainStatus fromValue(int value)