0

Java Web サービスで MongoDB を使用しようとしています。

Mongo チュートリアルで提案されているように、MongoClient が必要です。それを dbInstance、接続プールにして、dbinstance を呼び出して、localhost にあるデータベースへの接続を取得します。

これは私が持っているものです:

private static MongoClient dbInstance = null;

public static DB getDBInstance() {
    if (dbInstance == null) {
        try {
            dbInstance = new MongoClient();
            registerShutdownHook();
        }
        catch (Exception exc) {
            System.out.println("Exception");
        }
    }
    return dbInstance.getDB("SAED");
}

私が理解していないのは、DBに接続しているかどうかを理解する方法です.il mongoも(mongodサービスを開始することによって)動作していないため、例外がスローされません。

もう 1 つの質問ですが、Class.getDBInstance を呼び出す複数のスレッドがあります。それを同期する必要がありますか。同期する場合は、どうすればよいですか?

4

1 に答える 1

0

接続しようとしたときに mongo が実行されていないと、例外がスローされます。

MongoClient() を実行すると、接続するポート 27017 のローカルホストが常に検索されます。これをパラメータ化して、別のマシンやポートに接続することもできます。

詳細については、Mongo Documentationを参照してください。

MongoClient mongoClient = new MongoClient();
// or
MongoClient mongoClient = new MongoClient( "localhost" );
// or
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

同期に関する質問については、はい、メソッド レベルではなくブロック レベルで同期して、より良いものにすることができます。

于 2012-12-21T17:43:43.183 に答える