MongoDB 用の最新の Java ドライバー (2.11.1) を使用しています。MongoDB Java API は本質的に
- MongoClient クラスの 1 つのインスタンス (内部接続プールを使用)
- DB オブジェクトを取得するための getDB()
- DBCollection オブジェクトを取得するための getCollection()
1) データベースへの接続はいつ確立されますか? getDB() が呼び出されたときですか、それとも getCollection() が呼び出されたときですか?
2) getDB() を一度呼び出すのと、必要なときに呼び出すのとではどちらがよいですか? (それは問題ですか? - MongoClient は DB オブジェクトをキャッシュに保持しますか?)
3) マルチスレッドで単一の DBCollection オブジェクトを再利用するか、マルチスレッドから getCollection() を呼び出す方が良いですか? (DBCollection はキャッシュされますか?)