2017-06-22 6 views
-1

私はspring-bootでマイクロサービスを書いています。 dbはmongodbです。このサービスは私の地域の環境で完璧に機能します。しかし、私は雲の鋳造所にそれを展開した後、それは動作しません。その理由は、mongodbのタイムアウトを接続するためです。春の起動アプリケーションは、クラウドファウンドリで実行されているかどうかをどのように判断できますか?

私は根本的な原因は、アプリケーションがクラウド上で実行されていることを知らないと思う。まだ127.0.0.1:27017に接続していますが、リダイレクトされたポートは接続していないためです。

どのようにクラウド上で実行されていることがわかりますか?ありがとうございました!

編集:

サービスにバインドされたmongodbインスタンスがあります。私は、環境情報をチェックすると、私は情報以下だと、:私の理解から

{ 
    "VCAP_SERVICES": { 
     "mongodb": [ 
      { 
       "credentials": { 
        "hostname": "10.11.241.1", 
        "ports": { 
         "27017/tcp": "43417", 
         "28017/tcp": "43135" 
        }, 
        "port": "43417", 
        "username": "xxxxxxxxxx", 
        "password": "xxxxxxxxxx", 
        "dbname": "gwkp7glhw9tq9cwp", 
        "uri": "xxxxxxxxxx" 
       }, 
       "syslog_drain_url": null, 
       "volume_mounts": [], 
       "label": "mongodb", 
       "provider": null, 
       "plan": "v3.0-container", 
       "name": "mongodb-business-configuration", 
       "tags": [ 
        "mongodb", 
        "document" 
       ] 
      } 
     ] 
    } 
} 
{ 
    "VCAP_APPLICATION": { 
     "cf_api": "xxxxxxxxxx", 
     "limits": { 
      "fds": 16384, 
      "mem": 1024, 
      "disk": 1024 
     }, 
     "application_name": "mock-service", 
     "application_uris": [ 
      "xxxxxxxxxx" 
     ], 
     "name": "mock-service", 
     "space_name": "xxxxxxxxxx", 
     "space_id": "xxxxxxxxxx", 
     "uris": [ 
      "xxxxxxxxxx" 
     ], 
     "users": null, 
     "application_id": "xxxxxxxxxx", 
     "version": "c7569d23-f3ee-49d0-9875-8e595ee76522", 
     "application_version": "c7569d23-f3ee-49d0-9875-8e595ee76522" 
    } 
} 

を、私が思うに、私の春ブートサービスは、右、27017ポート43417を接続しようではないでしょうか?ありがとうございました!

+0

をあなたが実際に[ 'mongod'](https://docs.mongodb.com/manual/reference/program/mongod/を持っていないので)サービスをアプリケーションと同じインスタンスで使用しますか?代わりにリモートのMongoDBを指すのはどうですか? https://www.google.com/search?q=mongodb+hosting+providers –

+0

「VMware Cloud Foundry」(https://docs.mongodb.com/)の「エコシステム」には、実際には公式のドキュメントセクションがあります。 –

+0

ありがとう、実際にはサービスにバインドされたmongodbインスタンスがあります。私はそれを宣言するために質問を編集する。 –

答えて

0

最後に、プロファイルを指定しなかった理由がわかりました。私manifest.ymlに次のコードを追加した後、それは動作します:

env: 
    SPRING_PROFILES_ACTIVE: cloud 
+0

これは正しいとは言えません。そうする必要があります。どのようなcloudfoundryディストリビューションを使用していますか? –

関連する問題