我是Spring State Machine的新手。我在状态机上使用了StateMachineListener
。如何使用StateContext
方法访问eventNotAccepted
。
@Override
public void eventNotAccepted(Message<String> event) {
}
最佳答案
您需要使用StateMachineListener.stateContext(StateContext<S, E>)
并监听所有StateContext
更改。从那里检查StateContext.getStage()
当它匹配Stage.EVENT_NOT_ACCEPTED
时。
最初,当添加该侦听器接口时,我们没有上下文;后来,当人们想要访问它时,我们不想破坏向后兼容性,因此添加了新方法。