Jhipster micro服务始终连接到领事的本地主机

Jhipster micro服务始终连接到领事的本地主机,jhipster,consul,Jhipster,Consul,我已经用jhipster 4.6.2为Consor生成了一个配置的微服务。 我正在和Docker(和Virtualbox)一起管理领事 因此,它没有在本地主机上运行(例如,192.168.99.100) 因此,我修改了microservice的application-dev.yml,将主机设置为: 云: 领事: 发现: 首选ip地址:true 主机:192.168.99.100 港口:8500 。。。但当我启动micro服务时,它仍在尝试连接到localhost(即,不考虑下面的属性)。 然后我

我已经用jhipster 4.6.2为Consor生成了一个配置的微服务。 我正在和Docker(和Virtualbox)一起管理领事

因此,它没有在本地主机上运行(例如,192.168.99.100)

因此,我修改了microservice的application-dev.yml,将主机设置为:

云: 领事: 发现: 首选ip地址:true 主机:192.168.99.100 港口:8500

。。。但当我启动micro服务时,它仍在尝试连接到localhost(即,不考虑下面的属性)。 然后我得到了一个例外:

com.ecwid.consul.transport.TransportException: org.apache.http.conn.HttpHostConnectException: 连接到localhost:8500[localhost/127.0.0.1,localhost/0:0:0:0:0:1,localhost/fe80:0:0:0:0:0:0:0:1%1]失败: 拒绝连接

有什么想法吗

谢谢

我的密码:

{
  "generator-jhipster": {
    "promptValues": {
      "packageName": "org.fge.msconsul"
    },
    "jhipsterVersion": "4.6.2",
    "baseName": "msconsul",
    "packageName": "org.fge.msconsul",
    "packageFolder": "org/fge/msconsul",
    "serverPort": "8082",
    "authenticationType": "jwt",
    "hibernateCache": "hazelcast",
    "clusteredHttpSession": false,
    "websocket": false,
    "databaseType": "sql",
    "devDatabaseType": "h2Disk",
    "prodDatabaseType": "postgresql",
    "searchEngine": false,
    "messageBroker": false,
    "serviceDiscoveryType": "consul",
    "buildTool": "maven",
    "enableSocialSignIn": false,
    "jwtSecretKey": "replaced-by-jhipster-info",
    "enableTranslation": false,
    "applicationType": "microservice",
    "testFrameworks": [],
    "jhiPrefix": "jhi",
    "skipClient": true,
    "skipUserManagement": true,
    "clientPackageManager": "yarn"
  }
}
</details>

##### **JDL for the Entity configuration(s) `entityName.json` files generated in the `.jhipster` directory**

##### **Environment and Tools**

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

git version 2.11.0 (Apple Git-81)

node: v7.4.0

npm: 5.0.3

bower: 1.8.0

gulp:
[22:45:50] CLI version 3.9.1

yeoman: 2.0.0

yarn: 0.27.5

Docker version 17.05.0-ce, build 89658be

docker-compose version 1.13.0, build 1719ceb

Execution complete
{
“发电机jhipster”:{
“promptValues”:{
“packageName”:“org.fge.msconsul”
},
“jhipsterVersion”:“4.6.2”,
“baseName”:“msconsul”,
“packageName”:“org.fge.msconsul”,
“packageFolder”:“org/fge/msconsul”,
“服务器端口”:“8082”,
“authenticationType”:“jwt”,
“hibernateCache”:“hazelcast”,
“clusteredHttpSession”:false,
“websocket”:错误,
“数据库类型”:“sql”,
“devDatabaseType”:“h2Disk”,
“prodDatabaseType”:“postgresql”,
“搜索引擎”:错误,
“messageBroker”:false,
“服务发现类型”:“领事”,
“构建工具”:“maven”,
“enableSocialSignIn”:错误,
“jwtSecretKey”:“由jhipster信息替换”,
“enableTranslation”:错误,
“应用程序类型”:“微服务”,
“测试框架”:[],
“jhiPrefix”:“jhi”,
“skipClient”:正确,
“技能管理”:没错,
“客户包装经理”:“纱线”
}
}
#####**在`.jhipster`目录中生成的实体配置`entityName.json`文件的JDL**
#####**环境和工具**
java版本“1.8.0_66”
Java(TM)SE运行时环境(build 1.8.0_66-b17)
Java HotSpot(TM)64位服务器虚拟机(构建25.66-b17,混合模式)
git版本2.11.0(苹果git-81)
节点:v7.4.0
净现值:5.0.3
鲍尔:1.8.0
吞咽:
[22:45:50]CLI版本3.9.1
约曼:2.0.0
纱线:0.27.5
Docker版本17.05.0-ce,内部版本89658be
docker compose 1.13.0版,版本1719ceb
执行完毕
Spring Cloud有一个可以从外部源加载配置属性的组件


src/main/resources/bootstrap*.yml
是您必须配置如何连接到领事的文件。

您也可以在application.properties中提到领事主机,如下图所示,我已经确认这是有效的

spring.cloud.consul.host=http://hostname
spring.cloud.consul.port=8500

提到这一点的最佳方式是bootstrap.yml,它在任何之前加载。属性加载

作为旁注,JHipster不支持node 7.x,我们只支持文档中的LTS版本。感谢Gaël,它现在确实可以工作了!也许从应用程序-(dev | prod.xml)中删除这个consor的主机属性会有帮助,因为它显然不应该位于那里(或者它必须在两个位置上都设置,我没有测试),当使用JHipster注册表而不是consor时,在dev中运行应用程序而不运行注册表实例需要它。我没有测试Concur,也许它和应用程序不一样。yml不应该包括这个Concur props这是我的错误,因为我编码了这个部分!我很确定application.yml中根本不需要该属性。即使不使用注册表,只要存在spring cloud配置依赖项,它仍将读取bootstrap.yml并使用引导阶段。所以它可以安全地被移除@用户1458153,如果你能提交一份非常棒的PR。