Получение причины неисправности внутри запасного метода Hystrix - PullRequest
0 голосов
/ 24 января 2019

У меня возникли проблемы с обработкой ошибок при восстановлении 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 или обновить версию библиотеки?

...