1

私はSpringのコンフィグレーションサービスに接続するSpringブートマイクロサービスを持っていますが、設定サーバの後にサービスを開始することはできません。そうしないと、再度接続docker-composeの依存関係を解決する

にここで私がドッキングウィンドウ-COMPOSEファイル実行したときに、私はサービスのコンソールに表示されるエラーです(?):

2016年4月7日14:25:51.305が1をWARN --- [メイン] cccConfigServicePropertySourceLocator:見つからない PropertySource:のGET要求でのI/Oエラー210 "http://configserver:8888/myservice/default":接続が拒否されました。 ネストされた例外はjava.net.ConnectExceptionです:接続が

を拒否したここに私のドッキングウィンドウ・コンファイルです:

discovery: 
    image:discovery-service 
    ports: 
    - "8761:8761" 
configserver: 
    image:config-service 
    ports: 
    - "8888:8888" 
    links: 
    - discovery 
myservice: 
    image:my-service 
    ports: 
    - "9006:9006" 
    links: 
    - discovery 
    - configserver 

そして、これはサービスbootstrap.ymlの設定です:

一度
spring: 
    application: 
    name: myservice 
    cloud: 
    enabled: true 
    config: 
     uri: http://configserver:8888 
encrypt: 
    failOnError: false 

両方のサービスが実行中であり、ユーレカ(発見)に登録されている場合、私は/refreshmyserviceに呼び出そうとしますが、失敗し続けて同じエラーを返します。

ドッカーインスタンスを再起動すると、問題なく接続されます。

これは、設定サーバーを継続的に稼働させておくことができるということですか?

答えて

1

起動時に設定サーバーがまだ準備ができていない場合は、クライアントアプリケーションをより堅牢に設定する必要があります。 user guideにセクションがあります。 TL; DRはスプリングリトライを含み、spring.cloud.config.failFast=trueを設定します。

+0

これは意味がありますが、設定サーバーが利用可能になった後に接続できない理由と、MyServiceを再起動して動作させる必要がある理由を理解できません。ランニング? –

+0

あなたはユーザーガイドを慎重に読んでいないことがあります。リトライパラメータが十分に自由である限り、最終的に接続します。 –

関連する問題