今天在研究Spring Cloud的配置中心的时候,发现将应用的配置移到git上,启动应用后发现,在Euraka注册中心上这个应用的状态始终为UNKOWN,可是这个应用是可以提供服务的。下面是应用的bootstrap的配置:
1 | spring: |
日志打印应用的状态:
1 | StatusChangeEvent [timestamp=1536481926709, current=UNKNOWN, previous=UP] |
这些配置肯定没有什么问题,因为这些配置在没有挪到bootstrap.yml中之前都是可以正常使用的。现在Eureka注册中心却不能检测到应用的状态,这样让我百思不得其解。后来我在stackoverflow上找到了答案
stackoverflow地址,问题只有一个答案,其中重要内容如下:
1 | eureka.client.healthcheck.enabled=true should only be set in application.yml. Setting the value in bootstrap.yml will cause undesirable side effects like registering in eureka with an UNKNOWN status. |
知道这一点后我将bootstrap.yml中的内容修改如下面一样:
1 |
|
在Eureka注册中心中应用的状态就显示正常了!