今天吧apollo的配置,全部切到本地的yml里面,结果在项目启动的时候,老是报错,内容大致意思是在127.0.0.1里面没有consul,错误如下:
Application run failed com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:8500 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
很奇怪,明明我配置的地址不是本地,为什么会加载成127.0.0.1,百思不得其解,后来ctrl键进入了consul的host属性查看才发现,原来host属性默认配置了localhost,如下图:
既然这样,就能肯定是我的yml配置文件没有起效,经过排查发现了,原来是yml里面这个属性捣的鬼(spring.cloud.consul.config.enabled = true),这个属性具体是干什么的,可以自己百度,出现这种bug,解决办法有两种,如下:
解决办法1,把这个(spring.cloud.consul.config.enabled = true)属性注释掉。
解决办法2,新建一个bootstrap.yml,将所有属于consul的配置,全部放在这个文件里面包括(spring.cloud.consul.config.enabled = true)