【发布时间】:2016-03-04 14:17:18
【问题描述】:
我正在努力按照可用的食谱和示例来坚持我的状态机。我正在使用主分支,我的状态机使用分层状态、区域和正交状态。我遵循的第一个示例是spring-statemachine-samples/persist,但它似乎只处理基本的 FSM。我尝试的第二个是LocalStateMachineInterceptor,但 id 似乎没有与 Hierarchical States 一起使用。另外,我找不到任何方法通过StateMachinePersist 保持历史状态。
是否有任何地方都具有持久性的复杂 FSM 示例?
【问题讨论】:
-
等一下,关于历史状态的问题。当我为它创建一个#182 并开始对其进行处理时,我无法弄清楚如何真正持久地使用它。由于历史状态是瞬态和伪状态,因为它只是跟踪最后一个已知状态,因此您不能真正将机器重置为该状态,因为它的唯一工作是立即进入其最后一个已知状态。那么您介意详细说明持久化历史状态的含义吗?
-
在恢复 FSM 后,如果当前状态中可用的转换之一具有 HISTORY 伪状态作为目标,触发此类事件应将 FSM 移动到先前状态。这是目前实现的(我认为)查看存储在 HistoryPseudoState 中的信息,这些信息在保存/恢复时会丢失
-
好的,我认为这里还有一些工作要做,但我只是增强了关于持久历史的功能。您可以关注 #182 中的更改。很抱歉我原来的评论是你“持有错误”,你是对的:)谢谢!