2017-07-27 49 views
1

我已经生成了一个微服务配置为与jhipster 4.6.2的领事。 我正在运行与Docker的Consul(使用Virtualbox)。微服务总是连接到本地主管

因此,它不在本地主机上运行(但例如使用192.168.99.100)。

因此我修改了我的微服务的应用程序dev.yml设置这样的主机:

云: 领事: 发现: 喜欢-IP地址:真 主持人:192.168.99.100 端口:8500

...但是当我启动微服务时,它仍然尝试连接到本地主机(即下面的属性没有考虑到)。 后来我得到这个异常:

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

任何想法?

谢谢!

我的配置jhipster:

{ 
    "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 
+0

作为一个侧面说明,JHipster不支持节点7.x,我们只支持LTS版本的记录。 –

回答

1

弹簧云具有bootstrap phase从它可以加载来自外部源的配置属性。

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

+0

非常感谢Gaël,它现在确实可行!也许从应用程序(dev | prod).xml中删除这位领事的主持人的道具是有帮助的,因为它不应该显然位于那里(或者它必须在两个位置都设置,我没有测试) – user1458153

+0

当使用JHipster Registry而不是Consul,它是在没有运行注册表实例的情况下在dev中运行应用程序所必需的。我没有测试领事,也许它不一样,application.yml不应该包含这个领事道具 –

+0

这是我的错误,因为我编码这部分!我很确定这个属性在application.yml中是不需要的。即使不使用注册表,只要弹簧云配置依赖关系存在,它仍会读取bootstrap.yml并使用引导阶段。所以它可以安全地被删除。 @ user1458153如果你可以提交一个令人敬畏的公关。 –

0

您也可以提到在application.properties领事主机像下面,我已经证实,这个工程

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

虽然提到这一点的最好办法是bootstrap.yml,如果我们需要针对不同的不同的值配置文件application.properties将是正确的地方

相关问题