Bene, ecco come l'ho fatto. Fondamentalmente è molto più facile di quanto mi aspettassi. Il seguente è stato copiato da 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());
Inoltre è necessario aggiungere un file di configurazione per il percorso della classe. Il client Eureka utilizza questo file per leggere le informazioni sui server eureka.
eureka.preferSameZone=true
eureka.shouldUseDns=false
eureka.serviceUrl.default=http://localhost:8761/eureka/
eureka.decoderName=JacksonJson
Inoltre, è necessario fornire al client eureka una dipendenza. Eureka1 supporta JDK7 anche se alcune parti di esso sono state create con JDK8. Tuttavia, dovevo fornire versioni precedenti di "archaius-core" e "servo-core" per farlo funzionare con 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 supporta completamente JDK7.
fonte
2016-02-24 04:42:45
Controllare il '@ EnableDiscoveryClient' annotazioni, trovare la configurazione che le importazioni e duplicare che nel proprio progetto. –