2016-03-01 67 views
0

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

我缺少的東西或者是一個真正的錯誤嗎?如果是這樣,我會提出一個問題

回答

0

是的,這是一個錯誤。我們在主控方面做了很多改變以加強用戶級別的掛鉤。這些都不會破壞機器的執行。請提出問題,我們會解決它。