我正在按照文档(状态机错误处理)来实现错误处理。但是,当发生异常时,它会向上传播而不是被拦截。我尝试使用拦截器、监听器和@OnStateMachineError
没有任何成功。调试代码时,MethodInvokingStateMachineRuntimeProcessor.java:52
它的调用者或任何调用者都没有任何特定的逻辑来处理错误。
复制问题很简单,只需创建一个状态机(我使用的是最新的快照)并注册 bean:
@WithStateMachine
public class ExceptionThrowingAction {
@OnTransition
public void throwError(@EventHeaders Map<String, Object> headers, ExtendedState extendedState) {
throw new RuntimeException("test error");
}
}
我错过了什么还是真正的错误?如果是这样,我会提出一个问题