Я пытаюсь реализовать резервный вариант с помощью клиента Feign, но безуспешно. Это самый простой код. Пожалуйста, найдите ниже.
Основной класс
@SpringBootApplication
@EnableDiscoveryClient
@RestController
@EnableFeignClients
public class EurekaClient1Application {
@Autowired
public DiscoveryClient discoveryClient;
public static void main(String[] args) {
SpringApplication.run(EurekaClient1Application.class, args);
}
@Autowired
FeingInterface feingInterface;
@GetMapping("/hi/{name}")
public String test(@PathVariable String name)
{
String h = feingInterface.test(name);
return h;
}
}
Фейковый интерфейс
@FeignClient(name="client22",fallback=FallBack.class)
public interface FeingInterface {
@GetMapping("/hiname/{name}")
public String test(@PathVariable("name") String name);
}
резервный класс
@Component
class FallBack implements FeingInterface{
@Override
public String test(String name) {
// TODO Auto-generated method stub
return "fall back methord being called";
}
}
Получение ошибки в оставшемся клиенте, но не из резервного метода
«отметка времени»: 1501950134118, «статус»: 500, «ошибка»: «внутренняя ошибка сервера», «исключение»: «java.lang.RuntimeException», «сообщение»: «com.netflix.client.ClientException: балансировщик нагрузки делает нет доступного сервера для клиента: client22",
Чтобы получить сообщение о методе резервного копирования, я передал идентификатор eureka client22, которого нет на сервере eureka. У меня статер в пом. Может ли кто-нибудь изучить это.