常见问题
本章回答了 Spring Statemachine 用户最常问的问题。
状态更改
如何自动过渡到下一个状态?
您可以从三种方法中进行选择:
-
实现一个动作并将适当的事件发送到状态机 触发到正确目标状态的过渡。
-
在状态中定义延迟事件,并在发送事件之前定义 发送另一个被延迟的事件。这样做会导致下一个 适当的 state 转换时,才更方便处理 那个事件。
-
实现无触发过渡,这会自动导致 state 在进入 state 时过渡到下一个状态,并且其 操作已完成。
扩展状态
如何在状态机启动时初始化变量?
状态机中的一个重要概念是,什么都不会真正发生
除非触发器导致
然后可以触发操作。然而,话虽如此,Spring Statemachine
当状态机启动时,始终具有初始转换。跟
此初始转换,您可以运行一个简单的操作,该操作在
a ,可以使用扩展状态执行任何它喜欢的操作
变量。StateContext