1
mongoデータベースに接続するためのチュートリアルに基づいて、次のコードを使用しています。mongodb接続スレッドの安全性
私が設計に関するいくつかの疑問を持っている:
- は、それは同時に複数のスレッドからMongoConnection.getDB()関数を呼び出しても大丈夫ですか?
- そうでない場合は、同期させる必要がありますか?
- デザインに問題がある場合、どのような望ましくない影響を与えることができますか?
私はmongodbを初めて使っているので、私の質問は少し素朴に聞こえるかもしれません。 docsから
public class MongoConnection {
private static MongoClient mongoClient = null;
private static String IP = "mongodb://user:[email protected]:27017/?authSource=demodb&authMechanism=SCRAM-SHA-1";
private static String DATABASE = "demodb";
static {
mongoClient = new MongoClient(new MongoClientURI(IP));
}
private MongoConnection() {
}
public static DB getDB() {
return mongoClient.getDB(DATABASE);
}
}
は、引用のように見える、スレッド間のいずれかの問題があってはなりません。あなたは引用を使用するときにソースを指定することになっています。基本的に**データベース接続自体を共有しようとしない**厳密な強調**が必要です。これは、データベース接続や一般的な「ステートフルな」ネットワーク接続でかなり古くなっています。これらのスレッドをフォークまたは生成しないでください。 –
URLを添付しようとしている間に編集されましたが、それは引用であるはずなので、\ '\'です。 – ialex
実際には "引用"は '>'を使用し、他の目盛は "コード"のためのものです。見る。編集されました。 –