我想构建一个状态机,该状态机可能针对一组条件(例如,用户,位置等)具有单独的事件和/或状态集。将有一个基本FSM和许多自定义FSM来组合上述各项标准。
例如:
用户U1具有单独的FSM
用户U2 =>使用全局FSM
用户U3 @印度位置=>具有单独的FSM
用户U3 @美国位置=>具有不同的FSM
所有用户@ Location UK =>具有不同的FSM
我正在查看Spring State Machine的Regions,但是看起来无法使用此实现。
有没有一种方法可以使用Spring State Machine来实现,或者有人可以建议其他FSM库?
最佳答案
是的,区域在这里无济于事,因为那时您只有并行状态。
一种选择是创建一个状态机,该状态机将是全局状态机。然后,对于其他每个状态机类型/用户,您将在全局状态机上创建一个新状态(此状态将成为父状态),然后在子状态机中处理该状态机上的所有子状态。然后,在全局计算机上,您可以有条件地过渡到处理子状态的状态。在spring-statemachine中,有一个局限性,即不同机器中的所有子状态都必须具有不同的状态ID。
我可能只是尝试构建不同的计算机配置,然后根据条件有条件地请求不同的计算机。
关于java - 基于事件和一组条件构建一个Spring State Machine,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47830923/