Spring Boot-app mit Eureka DiscoveryClient nicht starten

Ich bin versucht, zu schreiben eine einfache Spring-Boot-Anwendung, können (1) registrieren Sie sich mit einem Netflix-Eureka-server, und (2) Abfrage der Eureka-server zum abrufen von details von anderen registrierten services.

Meine client-Klasse @Autowired Feld vom Typ com.netflix.discovery.DiscoveryClient verwendet wird, zu sprechen, zu Eureka und Abfrage ist es, zu lernen, über andere Dienste. Auf meiner main-Klasse, ich habe die Anmerkung @EnableDiscoveryClient:

@SpringBootApplication
@EnableDiscoveryClient
public class AppBootstrap {

    public static void main(String[] args) {
        SpringApplication.run(AppBootstrap.class, args);
    }

}

In meinem application.yml Datei unter src/main/resources die ich habe:

eureka:
    instance:
         lease-renewal-interval-in-seconds: 10
         lease-expiration-duration-in-seconds: 20
         prefer-ip-address: true
         secure-port: 443
         non-secure-port: 80
         metadata-map:
             instanceId: my-test-instance
    client:
         service-url:
             defaultZone: http://localhost:9080/eureka/
         registry-fetch-interval-seconds: 6
         instance-info-replication-interval-seconds: 6
         register-with-eureka: true
         fetch-registry: true
         heartbeat-executor-thread-pool-size: 5
         eureka-service-url-poll-interval-seconds: 10

Wenn ich meine app den Dienst nicht starten, wirft eine exception, ist verwurzelt in:

Verursacht durch: java.lang.AbstractMethodError: org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean.getInstanceI
d()Ljava/lang/String;
bei com.netflix.appinfo.die Anbieter.EurekaConfigBasedInstanceInfoProvider.bekommen(EurekaConfigBasedInstanceInfoProvider
.java:53)
bei com.netflix.appinfo.ApplicationInfoManager.initComponent(ApplicationInfoManager.java:90)
... 25 mehr

Ich habe keine Ahnung, was hier Los ist. Irgendwelche Ideen? Ich glaube, sollte die app noch starten, auch wenn meine Eureka config falsch ist, aber es fällt beim start.

Zweitens, bin ich mit dem richtigen DiscoveryClient? Im Idealfall würde ich mag, um es allgemein so, dass ich verwenden könnte, es mit Eureka, Konsul oder Tierpfleger als Beispiele. Ich finde die Dokumentation ist nicht so toll bei illucidating genau das, was erforderlich ist, wenn diese Feder Cloud /Netflix Entdeckung Komponenten.

  • Sie verwenden eine version von eureka-client inkompatibel ist mit Spring Cloud Netflix. Vermeiden Sie Probleme wie diese sollten Sie nutzen Spring Cloud ' s dependency management.
  • Ich habe nicht viel Erfahrung mit Spring Cloud dependency management. ..kannst du mir ein Beispiel nennen?
  • Es hängt davon ab, ob man mit Maven oder Gradle. Versuchen Sie eine Suche für bom im Dokumentation.
InformationsquelleAutor Boon | 2015-12-15
Schreibe einen Kommentar