【发布时间】:2017-12-25 20:22:02
【问题描述】:
我在 eureka 注册了两个服务。服务 C 调用服务 A。服务 C 是 feign 客户端。我想手动实现假客户端。但我发现了一个异常:
com.netflix.client.ClientException:负载均衡器没有 客户端可用的服务器:service-test-a
应用类:
@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Feign接口:
@Component
public interface FeignService {
@RequestLine("GET /")
public String getServiceA();
}
假装配置:
@Configuration
@Import(FeignClientsConfiguration.class)
public class MyConfig {
}
控制器:
@RestController
public class Controller {
private FeignService feignService;
@Autowired
public void Controller() {
feignService = Feign.builder()
.client(RibbonClient.create())
.target(FeignService.class, "http://service-test-a");
}
@RequestMapping(value = "/build", method = RequestMethod.GET)
public String getServiceC() {
return feignService.getServiceA();
}
}
我做错了什么?
【问题讨论】:
-
与其创建一个新的
RibbonClient,不如使用已经创建的bean? -
我不知道我应该使用哪个 bean。请告诉我好吗?
标签: netflix-eureka netflix-feign