3

我是 Spring 状态机的新手。我已经StateMachineListener为我的状态机使用了一个。我如何访问方法StateContexteventNotAccepted

@Override
        public void eventNotAccepted(Message<String> event) {

        }
4

1 回答 1

9

您需要使用StateMachineListener.stateContext(StateContext<S, E>)并聆听所有StateContext更改。从那里检查StateContext.getStage()它何时匹配Stage.EVENT_NOT_ACCEPTED

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

于 2016-11-22T10:54:58.677 回答