使用 consul 启动 jHipster 微服务时出错

Error starting jHipster Microservices with consul

我正在尝试使用此 tutorial 构建示例微服务应用程序。 Jhipster版本是4.0.6 所以我创建了网关、服务并使用此命令启动了领事:

docker-compose -f src/main/docker/consul.yml up

来自我的网关目录。 但是错误发生在 Spring 启动时,这里是日志:

2017-02-22 11:52:25.679 ERROR 3168 --- [  restartedMain] o.s.c.c.c.ConsulPropertySourceLocator    : Fail fast is set and there was an error reading configuration from consul.

2017-02-22 11:52:32.491  WARN 3168 --- [  restartedMain] o.s.boot.SpringApplication               : Error handling failed (ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2a5b2096: startup date [Thu Jan 01 03:00:00 AST 1970]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@5108df79)
com.ecwid.consul.transport.TransportException: java.net.ConnectException: Connection refused: connect

你能帮忙解决这个问题吗?

更新: 我发现该应用试图在 staptup:

上向 URL 发出 GET 请求
http://localhost:8500/v1/kv/config/armory,dev/?recurse&token=

但是 Consul K/V 存储中唯一存储的数据是:

KEY: config/application/data

VALUE:
configserver:
    name: Docker Consul Service
    status: Connected to Consul Server running in Docker

jhipster:
    security:
        authentication:
            jwt:
                secret: my-secret-token-to-change-in-production

你必须将你的应用程序 yaml 配置复制到你的 consul 实例 as explained in the doccentral-server-config 目录,如果 consul 在开发配置文件中 运行 或者在它的 git repo 中,如果 consul在产品资料中 运行。

因此,假设您的应用名为 "armory",您应该将 src/main/resources/config/application.yml 复制到 armory.yml 并针对每个配置文件(例如 application-dev.ymlarmory-dev.yml