使用注释时的错误处理

时间:2016-03-01 11:40:34

标签: spring-statemachine

我按照文档(State Machine Error Handling)来实现错误处理。但是,当发生异常时,它会向上传播而不是被截获。我尝试使用拦截器,监听器和@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");
    }
}

我错过了什么或是真正的错误吗?如果是这样,我会提出一个问题

1 个答案:

答案 0 :(得分:0)

是的,这是一个错误。我们在master中做了很多改变,以加强用户级挂钩。这些都不会破坏机器执行。请提出问题,我们会解决它。