2

Согласно документации, при использовании функции Fign with Hystrix каждый запрос переносится в команду Hystrix.Как установить задание HystrixProperty для запроса Feign с весенним облаком?

Можно ли установить Hystrix Properties для этих команд? Я хотел бы сделать что-то вроде этого:

@RequestMapping(commandProperties = { 
    @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "30000")}) 
List<Team> findAll(); 

или:

@FeignClient(name = "teams", commandProperties = { 
    @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "30000")}) 

Для записи, я уже пытался использовать свойство, но это не сработало. Эти те работают:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000 
hystrix.command.findAll.execution.timeout.enabled=false 
hystrix.command.default.execution.timeout.enabled=false 

Но это один не делает:

hystri‌​x.command.findAll.ex‌​ecution.isolation.thread.timeoutInMillis‌​econds=20000 

В самом деле, мы можем прочитать следующий комментарий в HystrixCommandProperties класс:

//this property name is now misleading. //TODO figure out a good way to deprecate this property name 
    this.executionTimeoutInMilliseconds = getProperty(propertyPrefix, key, "execution.isolation.thread.timeoutInMilliseconds", builder.getExecutionIsolationThreadTimeoutInMilliseconds(), default_executionTimeoutInMilliseconds); 

EDIT: I попытались использовать притворство «Request.Option», но эти свойства, похоже, не распространяются на hystrix.

+0

Основы на свойствах, которые вы пытаетесь установить, я предполагаю, что вы пытаетесь справиться с некоторыми таймаутами запроса, есть ли у вас трассировка стека? Включена ли лента? –

+0

Удаленная служба немного реагирует, поэтому я получаю исключение HystrixRuntimeException. – Nicolas

+0

Вы только установили свойства в 'application.properties'? –

ответ

1

Проблема решена: проблема была в кодировке. Я скопировал/вложил строку из документации, но это не кодирование UTF-8 (хотя отображение STS было правильным).

0

Вы также можете установить свойства программно, как показано ниже.

ConfigurationManager.getConfigInstance() 
     .setProperty("hystri‌​x.command.default.ex‌​ecution.isolation.th‌​read.timeoutInMillis‌​econds", 1500);