Приложение 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 из-за того, что служба не может передатьиз.. ?Что не так с моим конфигом?Как это исправить?