Я следую этой статье (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, что я делаю не так?




Вы не можете ссылаться на свойство, которое вы только что установили выше. Это не процедурный сценарий, нет гарантии, что строка эврики будет выполнена раньше серверной, поэтому по умолчанию будет $ {server.port}: 8080
Если вы запустите приложение, используя опору среды, оно будет работать. Пытаться:
java -Dserver.port=8761 -jar your-app.jar
Замените http://${eureka.instance.hostname}:${server.port} следующим: http://localhost:8761 или, если сервер eureka не запущен на локальном хосте, используйте правильный IP или DNS.
но я не запускаю сервер, плюс в других примерах, которые я видел, похоже, что этой проблемы не существует