У меня возникли проблемы с обработкой ошибок при восстановлении Hystrix. Я использую Hystrix Javanica 1.4.21.
Вот самый простой код:
@HystrixCommand(commandKey = GET_POLICY_REQUEST,
threadPoolKey = HISTORY_SERVICE_THREADPOOL,
fallbackMethod = "getPolicyRequestFallback")
public Object getPolicyRequest(Object var) {
//do the stuff
}
public Object getPolicyRequestFallback(Object var, Throwable e) {
// processing the error
}
Согласно статье на вики-сайте Hystrix Javanica, я ожидаю получить информацию о любой ошибке, возникшей в HystrixCommand:
Javanica выставляет исключение выполнения через дополнительный параметр
резервный метод. Исключение при выполнении вызывается методом вызова
getExecutionException () как в ванильной Hystrix.
Но Throwable e всегда равен нулю в случае тайм-аута, отклонения пула потоков и короткого замыкания. Единственный случай, когда Throwable e существует - это обычное исключение, выбрасываемое где-то внутри.
Что не так? Должен ли я что-то сделать с конфигурацией hystix или обновить версию библиотеки?