У меня есть облако весны, запущенное на моем локальном коте. Я использую feign-клиент для вызова удаленной службы, завернутой внутри команды Hysterix, одной прямой и другой асинхронной, как показано ниже. .Hysterix Javanica AsyncResult Future.get Throwing Exception
@HystrixCommand(fallbackMethod = "fallBackEmployeeCall")
public List<EmployeeBean> getEmployees() {
//Call through Feign Client
return empInterface.getEmployees();
}
//Async Version
@HystrixCommand(fallbackMethod = "fallBackEmployeeCall")
public Future<List<EmployeeBean>> getEmployeesAsync() {
return new AsyncResult<List<EmployeeBean>>() {
@Override
public List<EmployeeBean> invoke() {
return empInterface.getEmployees();
}
};
}
Когда я звоню getEmployeesAsync() получить() я получаю ниже исключения
java.lang.UnsupportedOperationException: AsyncResult это просто удар и не могут быть использованы в качестве полной реализации будущего
это похоже на ниже вопрос: -
[https://github.com/Netflix/Hystrix/issues/1179][1]
по DOCS решения заключается в настройке HystrixCommandAspect класса, который я сделал, как показано ниже: -
@Configuration
@EnableAspectJAutoProxy
public class HystrixConfiguration {
@Bean
public HystrixCommandAspect hystrixAspect() {
return new HystrixCommandAspect();
}
}
Но я все еще получаю такое же исключение. Кажется, мне не хватает какой-то конфигурации. Примечание: мой метод синхронизации работает нормально.
Можете ли вы опубликовать код клиента, где вы проверяете invokations? –