2016-08-30 4 views
0

http://mongodb.github.io/mongo-java-driver/3.3/driver/getting-started/quick-tour/1つのアプリケーションでシングルトンにする必要があるのはどれですか? MongoClientまたはMongoDatabaseまたはMongoCollection?ドキュメントで述べたよう

MongoClientインスタンスが実際にデータベースへの接続のプールを表します。 MongoClientクラスのインスタンスは、複数のスレッドでも必要になります。私はこれらのコードは、常に新しいインスタンスを返す見つけ

MongoDatabase database = mongoClient.getDatabase("mydb"); 
MongoCollection<Document> collection = database.getCollection("test"); 

ので、どのようにMongoDatabaseを作る程度か:

(ちょうどRDMSの「テーブルのような)コレクションを取得することができます以下のコードを使用してMongoCollection私のアプリケーションではシングルトンですか?

答えて

0

通常、MongoClientはシングルトンである必要があります。引用符にはこれが記載されています

MongoClientインスタンスは実際には データベースへの接続プールを表します。複数のスレッドでもMongoClientクラス のインスタンスが1つだけ必要です。

またjavadocsでこれを言及:

内部接続プールでのMongoDBクライアント。ほとんどの アプリケーションでは、 JVM全体に対して1つのMongoClientインスタンスが必要です。

基になる接続がシングルトンMongoDatabaseまたはシングルトンするMongoCollectionをリフレッシュするために、いくつかのコーディングを必要とする、古い取得することができますので、それは、(他の理由があります)主にシングルトンとしてMongoDatabaseまたはするMongoCollectionを持ってしても意味がありません。

関連する問題