2

MongoDBでインスタンスを作成しましたOpenShiftRockMongoが提供するサービスである経由で接続できOpenShiftます。

を使用してインスタンスに接続しようとしていますJAVAが、Connection refuesedエラーが表示されます。また、 を使用して接続することはできませんRoboMongo

ステータス タブに、RockMongo次の情報が表示されます。

Host: 127.11.201.2
Port: 27017

インスタンスで使用RoboMongoするMongoLabと、適切な資格情報が与えられても問題なく機能しますが、ここでOpenShiftはインスタンスへの接続に失敗します。

私のJAVAアプリでは、次のことを試しています:

MongoCredential credential = MongoCredential.createCredential(
                Const.MONGO_USERNAME, Cont.MONGO_DB,
                Const.MONGO_PASSWORD.toCharArray());
        mongo = new MongoClient(new ServerAddress(Const.MONGO_URI), Arrays.asList(credential));

127.11.201.2としてMONGO_URI。_ インスタンスに接続できないのはなぜですか? 私は何を間違っていますか?

PS を使用して、コマンドを実行するだけでインスタンスputtyに接続できます。mongomongo

4

1 に答える 1

3

OpenShift は、MongoDB への接続に使用する環境変数を提供します。

  • OPENSHIFT_MONGODB_DB_HOSTMongoDB の IP アドレス
  • OPENSHIFT_MONGODB_DB_PORTMongoDB ポート
  • OPENSHIFT_MONGODB_DB_USERNAMEMongoDB ユーザー名
  • OPENSHIFT_MONGODB_DB_PASSWORDMongoDB パスワード
  • OPENSHIFT_MONGODB_DB_URLMongoDB 接続 URL (例: mongodb://<username>:<password>@<hostname>:<port>/)

データベースに接続するために 1 行のコードを使用しています。

new MongoClient(new MongoClientURI(System.getenv("OPENSHIFT_MONGODB_DB_URL")));
于 2015-05-08T19:41:00.247 に答える