我在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();
}
Feign config:
@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();
}
}
我做错了什么?
答案 0 :(得分:1)
AFAIK,没有简单的方法在eureka上使用 OpenFeign 。没有指南或示例。另外我猜它可能需要一些额外的实现和配置。
相反,请尝试使用 Spring Cloud Feign 。它提供与eureka和功能区的完全集成,无需任何其他实现。您只需在上面的代码中进行一些更改即可使用Spring Cloud Feign。