application.yml中的Eureka端口被忽略

时间:2018-03-16 19:42:34

标签: java spring-boot netflix-eureka

我正在关注这篇文章(http://www.baeldung.com/spring-cloud-netflix-eureka)来设置eureka,我的application.yml看起来像这样

server:
    port: 8761
eureka:
    client:
        registerWithEureka: false
        fetchRegistry: false
        serviceUrl:
            defaultZone: http://${eureka.instance.hostname}:${server.port}

但我调试了我总是得到的主要应用程序:

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]
    at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.1.jar:1.19.1]
    at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.4.10.jar:1.4.10]

当我到达我的浏览器时,eureka不是在8761端口,而是在8080端口,而是我做错了什么?

1 个答案:

答案 0 :(得分:1)

您无法参考上面设置的属性。这不是程序脚本,不能保证eureka系列将在服务器之前执行,因此$ {server.port}将是defaut: 8080

如果您使用环境支柱运行app,它将起作用。尝试:

java -Dserver.port=8761 -jar your-app.jar