我有一个spring-boot应用程序,可用于在开发和测试环境中设置a spring cloud config server和a eureka server。奇怪的是localhost:8761,即使我将其eureka.client.registerWithEureka设置为false ,应用程序也总是尝试连接到。
spring cloud config server
eureka server
localhost:8761
eureka.client.registerWithEureka
如何停用此功能?
错误:
ERROR 3144 --- [et_localhost-12] c.n.e.cluster.ReplicationTaskProcessor : Network level connection to peer localhost; retrying after delay com.sun.jersey.api.client.ClientHandlerException: org.apache.http.conn.ConnectTimeoutException: Connect to localhost:8761 timed out at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1] at com.netflix.eureka.cluster.DynamicGZIPContentEncodingFilter.handle(DynamicGZIPContentEncodingFilter.java:48) ~[eureka-core-1.4.10.jar:1.4.10] at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.4.10.jar:1.4.10] at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) ~[jersey-client-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) ~[jersey-client-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:570) ~[jersey-client-1.19.1.jar:1.19.1] at com.netflix.eureka.transport.JerseyReplicationClient.submitBatchUpdates(JerseyReplicationClient.java:116) ~[eureka-core-1.4.10.jar:1.4.10] at com.netflix.eureka.cluster.ReplicationTaskProcessor.process(ReplicationTaskProcessor.java:71) ~[eureka-core-1.4.10.jar:1.4.10] at com.netflix.eureka.util.batcher.TaskExecutors$BatchWorkerRunnable.run(TaskExecutors.java:187) [eureka-core-1.4.10.jar:1.4.10] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92] Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to localhost:8761 timed out
我唯一的课程是这样的:
@EnableEurekaServer @EnableConfigServer @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
的application.yml:
application.yml
server: port: 8888 eureka: client: registerWithEureka: false fetchRegistry: false server: waitTimeInMsWhenSyncEmpty: 0 renewal-percent-threshold: 0.49 security: basic: enabled: true user: password: mypassword spring: jmx: default-domain: ${spring.application.name} cloud: config: server: git: uri: https://example.com/myrepo.git username: username password: password clone-on-start: true search-paths: '{application},{application}/{profile}' endpoints: jmx: domain: ${spring.application.name} unique-names: true
在中,bootstrap.yml仅设置了应用程序名称。
bootstrap.yml
版本:
spring-cloud-netflix-eureka : 1.1.6, spring-cloud-config-server:1.1.3
1.1.6
1.1.3
您能否尝试更改您的配置,如下所示
eureka: client: registerWithEureka: false fetchRegistry: false service-url: defaultZone: http://localhost:8888/eureka
您指定server.port: 8888。因此,您的尤里卡在8888端口上运行。但是您没有为eureka指定任何服务URL。因此,我认为您的eureka服务器正在尝试复制到localhost:8761,因为它是默认设置,并且您未为eureka指定service- url。
server.port: 8888