Ну вот как я это сделал. В принципе, это намного проще, чем я ожидал. Далее был скопирован с Netflix eureka project.
DiscoveryManager.getInstance().initComponent(new MyDataCenterInstanceConfig(), new DefaultEurekaClientConfig());
String vipAddress = "MY-SERVICE";
InstanceInfo nextServerInfo = null;
try {
nextServerInfo = DiscoveryManager.getInstance()
.getEurekaClient()
.getNextServerFromEureka(vipAddress, false);
} catch (Exception e) {
System.err.println("Cannot get an instance of example service to talk to from eureka");
System.exit(-1);
}
System.out.println("Found an instance of example service to talk to from eureka: "
+ nextServerInfo.getVIPAddress() + ":" + nextServerInfo.getPort());
System.out.println("healthCheckUrl: " + nextServerInfo.getHealthCheckUrl());
System.out.println("override: " + nextServerInfo.getOverriddenStatus());
System.out.println("Server Host Name "+ nextServerInfo.getHostName() + " at port " + nextServerInfo.getPort());
Также вы должны добавить файл конфигурации в путь класса. Клиент Eureka использует этот файл для чтения информации о серверах eureka.
eureka.preferSameZone=true
eureka.shouldUseDns=false
eureka.serviceUrl.default=http://localhost:8761/eureka/
eureka.decoderName=JacksonJson
Также вы должны предоставить клиента eureka в качестве зависимости. Eureka1 поддерживает JDK7, хотя часть его была построена с помощью JDK8. Однако мне пришлось предоставить более старые версии «archaius-core» и «servo-core», чтобы запустить его с помощью JDK7.
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
<version>0.7.3</version>
</dependency>
<dependency>
<groupId>com.netflix.servo</groupId>
<artifactId>servo-core</artifactId>
<version>0.10.0</version>
</dependency>
Eureka2 полностью поддерживает JDK7.
Проверьте '@ EnableDiscoveryClient' аннотаций, найти конфигурацию, что импорт и тиражировать, что в свой собственный проект. –