1
mongo 데이터베이스에 연결하기 위해 다음 자습서를 기반으로 다음 코드를 사용하고 있습니다. mongodb 연결 스레드 안전
내가 디자인에 관한 몇 가지 의심이 :- 는 동시에 여러 스레드에서 MongoConnection.getDB() 함수를 호출 괜찮습니까?
- 그렇지 않다면 동기화해야합니까?
- 디자인에 문제가있는 경우 어떤 종류의 원치 않는 영향을 줄 수 있습니까?
저는 mongodb을 처음 사용하므로 제 질문이 약간 순진 할 것 같습니다. 에서
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
사실 "인용문"은'>'를 사용하고 다른 틱은 '코드'를 나타냅니다. 만나다. 편집 됨. –