使用注释时的错误处理

使用注释时的错误处理

问题描述:

我按照文档(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"); 
    } 
} 

我缺少的东西或者是一个真正的错误吗?如果是这样,我会提出一个问题

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