美文网首页
【Config】抛出No instances found of

【Config】抛出No instances found of

作者: 长孙俊明 | 来源:发表于2019-10-09 11:19 被阅读0次

环境背景

application.properties

server.port=8087
eureka.client.service-url.defaultZone=http://localhost:8100/eureka/
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.service-id=baidu_a
zuul.routes.api-b.path=/api-b/**
zuul.routes.api-b.service-id=baidu_b

bootstrap.yml

###服务名称(服务注册到eureka名称)
spring:
   application:
       name: test-configClient #如果配置了Config,该名称必须跟Git上的配置文件前缀一致。如:test-configClient-prd.properties
   cloud:
     config:
       # 读取版本环境,也就是配置文件的后缀名。如:test-configClient-prd.properties
       profile: prd
       discovery:
         # 就是读取configserver服务,写成configserver的spring.application.name
         service-id: config-server
         enabled: true

启动时,提示

java.lang.IllegalStateException: No instances found of configserver (config-server)
    at org.springframework.cloud.config.client.ConfigServerInstanceProvider.getConfigServerInstances(ConfigServerInstanceProvider.java:48) ~[spring-cloud-config-client-2.1.4.RELEASE.jar:2.1.4.RELEASE]
    at org.springframework.cloud.config.client.DiscoveryClientConfigServiceBootstrapConfiguration.refresh(DiscoveryClientConfigServiceBootstrapConfiguration.java:101) [spring-cloud-config-client-2.1.4.RELEASE.jar:2.1.4.RELEASE]
    at org.springframework.cloud.config.client.DiscoveryClientConfigServiceBootstrapConfiguration.heartbeat(DiscoveryClientConfigServiceBootstrapConfiguration.java:92) [spring-cloud-config-client-2.1.4.RELEASE.jar:2.1.4.RELEASE]
    at org.springframework.cloud.config.client.DiscoveryClientConfigServiceBootstrapConfiguration.onApplicationEvent(DiscoveryClientConfigServiceBootstrapConfiguration.java:82) [spring-cloud-config-client-2.1.4.RELEASE.jar:2.1.4.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:402) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:408) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:359) [spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.cloud.netflix.eureka.CloudEurekaClient.onCacheRefreshed(CloudEurekaClient.java:123) [spring-cloud-netflix-eureka-client-2.1.3.RELEASE.jar:2.1.3.RELEASE]
    at com.netflix.discovery.DiscoveryClient.fetchRegistry(DiscoveryClient.java:999) [eureka-client-1.9.13.jar:1.9.13]
    at com.netflix.discovery.DiscoveryClient.refreshRegistry(DiscoveryClient.java:1497) [eureka-client-1.9.13.jar:1.9.13]
    at com.netflix.discovery.DiscoveryClient$CacheRefreshThread.run(DiscoveryClient.java:1464) [eureka-client-1.9.13.jar:1.9.13]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_211]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_211]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_211]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_211]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_211]

解决方法

将eureka.client.service-url.defaultZone=http://localhost:8100/eureka/移到文件bootstrap.yml中。

###服务名称(服务注册到eureka名称)
spring:
   application:
       name: test-configClient #如果配置了Config,该名称必须跟Git上的配置文件前缀一致。如:test-configClient-prd.properties
   cloud:
     config:
       # 读取版本环境,也就是配置文件的后缀名。如:test-configClient-prd.properties
       profile: prd
       discovery:
         # 就是读取configserver服务,写成configserver的spring.application.name
         service-id: config-server
         enabled: true
###服务启动端口号
server:
   port: 8087
###服务注册到eureka地址
eureka:
 client:
   service-url:
     defaultZone: http://localhost:8100/eureka

相关文章

网友评论

      本文标题:【Config】抛出No instances found of

      本文链接:https://www.haomeiwen.com/subject/voiwpctx.html