FAQ

本章回答了 Spring StateMachine 用户最常问的问题。

57. 状态变化

如何自动过渡到下一个状态?

您可以选择三种方法:spring-doc.cadn.net.cn

  • 实施一个动作并向状态机发送适当的事件,以触发进入适当目标状态的转换。spring-doc.cadn.net.cn

  • 在状态中定义一个延迟事件,然后在发送该事件之前先发送另一个延迟事件。这样做可以在更方便的时候处理该事件时触发适当的状态转换。spring-doc.cadn.net.cn

  • 实现无触发器转换,当进入状态并且其动作完成时,自动导致状态转换到下一个状态。spring-doc.cadn.net.cn

58. 扩展状态

如何在状态机启动时初始化变量?

在状态机中,一个重要的概念是,除非触发器导致状态转换并且可以激发动作,否则实际上不会发生任何事情。然而,当声明这一点时,Spring StateMachine 总是在状态机启动时具有初始过渡。通过这个初始过渡,您可以在 StateContext 中运行一个简单的操作,在此操作中,可以使用扩展的状态变量做它想要做的任何事情。spring-doc.cadn.net.cn