2

我正在尝试consul从应用程序连接到服务器Spring boot,但由于 spring cloud consul 似乎没有读取我的主机配置而失败。

引起:org.apache.http.conn.HttpHostConnectException:连接到 localhost:8500 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] 失败:连接被拒绝:连接

文档说我们需要从bootstrap.properties/yml文件中设置领事主机。我尝试设置spring.cloud.consul.host使用 byymlproperties格式:

spring.cloud.consul.host=myhost(使用.propertiesvs.的适当格式.yml

或者

spring.cloud.consul.host=myhost- 有趣的事实,当作为程序参数传入时,这可以正常工作。

依赖项

  • spring-boot-starter-parent - 2.0.4.RELEASE
  • spring-cloud-starter-consul-all - 1.3.2.RELEASE
4

2 回答 2

1

Cloud consul starter 1.3.x 与 spring boot 2.x 不兼容,因此可能存在问题。尝试使用 spring boot 1.5.x 版本。

适用于 Finchley (2.0.x) 和 Greenwich 云版本 (2.1.x) 和 spring boot 2.0.x。更多在这里。兼容性矩阵可以在页面底部找到。

于 2019-01-27T18:29:56.700 回答
0

听起来您的 bootstrap.yml 文件没有被加载。您是否将 spring-cloud 启动器作为依赖项(如果使用 Maven 构建,则为 pom.xml)?如果包括在内,则问题可能与您启动应用程序的方式有关。您是从命令行运行,还是使用 Intellij/Ecipe 运行它?运行时环境可能有一些原因导致 bootstrap.yml 无法加载。

如果您仍然遇到此问题,请提供有关如何启动此应用程序的更多详细信息。

于 2019-01-27T19:31:30.077 回答