假设我有三个状态A、B、C,如果用户触发一些api调用,就会发生状态机初始化。如果要从状态A -> B -> C转换,那么在状态B想要向用户发送响应,然后用户将通过附加一些有效负载来调用相同的api,然后它必须转到状态C。
是否可以使用spring状态机来实现此业务用例。如果可能,那么我们如何做到这一点。如果不能从spring状态机获得,我可以使用哪个框架来实现此用例
发布于 2020-02-24 21:12:31
是的,您可以实现此用例,
但是您需要将信息持久化到某个地方,以便您知道要提供什么信息以及处于哪种状态,您应该重置状态机。
状态机中有一些高级控件,您可以在其中将状态机重置为特定状态。我假设您正在使用状态机工厂来获取状态机。
stateMachine.getStateMachineAccessor().doWithAllRegions(access -> access
.resetStateMachine(new DefaultStateMachineContext<>(state, null, null,null)));使用上面的代码,您将获得一个已经处于所需状态的状态机,然后您可以传递包含所需信息的上下文存储。
https://stackoverflow.com/questions/59926291
复制相似问题