【发布时间】:2018-05-14 08:01:55
【问题描述】:
我对 Spring 状态机有疑问:
我有状态等级,就这样吧:
{
S1 - initial
S2
S3 {
S3S1 - initial
S3S2
}
}
目前我处于状态 S2 并想转移到 S3S2,我的假设是在此转换中应该调用初始状态操作,但事实并非如此。例如 S3 表示使用一些模态窗口,在状态 S3S1 我应该初始化这个窗口,然后在 S3S2 中我可以使用这个窗口内的一些控件,目前我无法通过定义单个转换来做到这一点S2 到 S3S2(如果我错了,请纠正我)。
我在 github 中发现了这个非常老的问题 #71 (https://github.com/spring-projects/spring-statemachine/issues/71),它指出“规范提到机器应该总是进入它的初始状态,但是如果用户想直接进入一个状态,这有点尴尬。 submachine。”,但是根据我对状态机思想的理解,如果您不通过初始状态,那是完全有意义的,为什么您根本需要状态层次结构,您可以在同一级别定义所有内容,在我看来,初始状态应该准备同一地区其他国家的工作环境。所以我认为不应该跳过初始状态,或者在最坏的情况下,这种行为应该是可选的。
【问题讨论】:
标签: java spring spring-statemachine