Мне удалось успешно заставить моего клиента RestTemplate открыть удаленную службу с помощью Eureka и переадресовать ее с помощью ленты, как описано в документации. В принципе, это был просто вопрос добавления следующих аннотаций моего класса Application, и пусть магия Spring-Boot сделает все остальное:spring-cloud с RestTemplate // Ribbon/Eureka - повторить попытку, когда сервер недоступен
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableDiscoveryClient
(PS: Вы заметили, я использую весна-облако: 1.0 .0-SNAPSHOT-BUILD, а не 1.0.0.M3 - но это, похоже, не влияет на мою проблему).
При запуске двух экземпляров службы клиент-клиент остального клиента успешно загружает запросы баланса между ними. Тем не менее, клиент не будет возвращаться ко второму экземпляру, если первый будет остановлен до того, как будет обнаружен балансировщик Eureka, вместо этого будет выбрано исключение.
Следовательно, мой вопрос: существует ли способ настроить стоп RestTemplate/Ribbon/Eureka для автоматического повторного вызова вызова на другой экземпляр, если тот, который выбрал первое место, недоступен? Zuul proxy и feign клиенты делают это «из коробки», поэтому я считаю, что библиотека содержит необходимые функции ...
Любая идея/подсказка?
Thx, /Bertrand
Или это потому, что интеграция в RestTemplate осуществляется с помощью перехватчика, чья единственная цель состоит в том, чтобы перевести ServiceID в соответствующий URL, но не обернуть весь процесс вызова и, следовательно, не в состоянии выполнить любой " повторить "логику? –