Приложение Spring Boot с тайм-аутом Hystrix застряло в миллисекундах / не отвечает - PullRequest
0 голосов
/ 22 января 2019

Приложение Spring Boot, с hystrix , application.yml конфигурацией:

hystrix:
  command:
    myCommand:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 2000

Интересно, что когда я установил значение 1 , для timeoutInMilliseconds мой сервис, помеченный:

@HystrixCommand(
        raiseHystrixExceptions = {HystrixException.RUNTIME_EXCEPTION},
        groupKey = "myGroup", commandKey = "myCommand", threadPoolKey = "myGroup")
@Override .... myMethod() { ...

, терпит неудачу, если он должен с исключением по тайм-ауту (как и должно быть),

, но когда я устанавливаю значение 10,200,2000, мой сервис никогда не отвечаетназад он застрял навсегда.

Я проверял на этом ответ

Я ожидал найти конфигурацию для connection.timeout или что-то еще.В моем случае мой сервис пытается подключиться к сервису, работающему по VPN.Итак ... он пытается подключиться к этой службе ... и он никогда не получает это подключение.Я хочу, чтобы это потерпело неудачу с таймаутом.Но это не так.

В конце я просто звоню:

Mono.fromCallable( () -> {
        RestTemplate rest ...
    responseEntity = rest.exchange(baseUrl + uri, HttpMethod.POST, 
 requestEntity, String.class); }

, который висит навсегда.

Q: H из-за того, что служба не может передатьиз.. ?Что не так с моим конфигом?Как это исправить?

...