如何在 Spring 状态机中获取下一个 state/event
How Do I get next state/event in Spring state Machine
1) 我正在处理转换中的特定事件,如何获取有关下一个事件的信息?
2) 如果我需要在转换动作中停止从一种状态到另一种状态的转换,我该怎么做?
1) 我猜你的处理代码 运行s 在转换的动作中。
您可以从提供的 StateContext
中获取源状态、目标状态和导致转换的事件。
您不可能获得下一个事件,因为它尚未发送。
2) 我认为这不可能。
如果转换操作可能失败,这意味着在这种情况下你应该进入一个完全不同的状态 - 那么你应该重新设计你的状态机以运行这个代码来自不同于转换操作的地方。
例如从状态的动作,并根据 success/failure.
发送不同的事件
1) 我正在处理转换中的特定事件,如何获取有关下一个事件的信息? 2) 如果我需要在转换动作中停止从一种状态到另一种状态的转换,我该怎么做?
1) 我猜你的处理代码 运行s 在转换的动作中。
您可以从提供的 StateContext
中获取源状态、目标状态和导致转换的事件。
您不可能获得下一个事件,因为它尚未发送。
2) 我认为这不可能。
如果转换操作可能失败,这意味着在这种情况下你应该进入一个完全不同的状态 - 那么你应该重新设计你的状态机以运行这个代码来自不同于转换操作的地方。
例如从状态的动作,并根据 success/failure.