2016-03-01 4 views
0

Я следую документации (State Machine Error Handling) для реализации обработки ошибок. Однако, когда возникает исключение, оно распространяется, а не перехватывается. Я пробовал использовать перехватчик, слушатель и @OnStateMachineError без каких-либо успехов. Отлаживая код, ни MethodInvokingStateMachineRuntimeProcessor.java:52, ни любой из его вызывающих абонентов не имеют какой-либо конкретной логики для обработки ошибок.Обработка ошибок при использовании аннотаций

Репликация проблема проста, просто создать государственную машину (я использую последний снимок) и зарегистрировать боб:

@WithStateMachine 
public class ExceptionThrowingAction { 
    @OnTransition 
    public void throwError(@EventHeaders Map<String, Object> headers, ExtendedState extendedState) { 
     throw new RuntimeException("test error"); 
    } 
} 

ли я что-то отсутствует или это настоящая ошибка? Если это так, я буду поднимать в качестве вопроса

ответ

0

Да, это ошибка. Мы сделали много изменений в мастер, чтобы закрепить крючки пользовательского уровня. Ни один из них не должен прерывать выполнение машины. Пожалуйста, поднимите вопрос, и мы исправим его.

Смежные вопросы