我是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时。

最初,当添加该侦听器接口时,我们没有上下文;后来,当人们想要访问它时,我们不想破坏向后兼容性,因此添加了新方法。

09-04 03:30