Порт Eureka в application.yml игнорируется

Я следую этой статье (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]

и когда я добрался до своего браузера, эврика находится не в порту 8761, а в порту 8080, что я делаю не так?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
322
1

Ответы 1

Вы не можете ссылаться на свойство, которое вы только что установили выше. Это не процедурный сценарий, нет гарантии, что строка эврики будет выполнена раньше серверной, поэтому по умолчанию будет $ {server.port}: 8080

Если вы запустите приложение, используя опору среды, оно будет работать. Пытаться:

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

но я не запускаю сервер, плюс в других примерах, которые я видел, похоже, что этой проблемы не существует

fquirogam 17.03.2018 07:28

Замените http://${eureka.instance.hostname}:${server.port} следующим: http://localhost:8761 или, если сервер eureka не запущен на локальном хосте, используйте правильный IP или DNS.

Raphael 19.03.2018 15:51

Другие вопросы по теме