【问题标题】:Spring Statemachine - implicit state transitionsSpring Statemachine - 隐式状态转换
【发布时间】:2019-03-31 00:08:07
【问题描述】:

是否有可能构造一个只有下一个状态本身触发事件来调用下一个状态转换的状态机?就像隐式转换一样。我不想在外部全部定义它们,我想创建类似级联的东西。

【问题讨论】:

    标签: spring state-machine spring-statemachine


    【解决方案1】:

    如果我理解正确,您希望对状态转换(级联转换)产生类似“多米诺骨牌”的效果,以便当前状态触发到下一个状态的转换,进而触发到下一个状态的转换,依此类推)。

    这与 SM 操作直接相关。 每个 SM Action 都可以访问StateContext<State, Event>,您可以从中检索状态机实例并触发下一个事件:

    //Domino Effect
    void actionForS1(StateContext<State, Event> context) {
      //do actions
      Message transitionToS2 = MessageBuilder.withPayload(...).build();
      context.getStateMachine().sendEvent(transitionToS2);
    }
    
    void actionForS2(StateContext<State, Event> context) {
      //do actions
      Message transitionToS3 = MessageBuilder.withPayload(...).build();
      context.getStateMachine().sendEvent(transitionToS3);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      相关资源
      最近更新 更多