
1. TopologyDescription에서 writable 서버를 확인하는 방법은 다음과 같습니다. TopologyDescription 객체를 가져와 hasWritableServer() 메서드를 호출합니다. 이 메서드는 writable 서버가 있는지 여부를 boolean 값으로 반환합니다.
#hostingforum.kr
java
TopologyDescription topologyDescription = mongoClient.getDescription();
if (topologyDescription.hasWritableServer()) {
System.out.println("Writable 서버가 있습니다.");
} else {
System.out.println("Writable 서버가 없습니다.");
}
2. hasWritableServer() 메서드를 사용한 경우, writable 서버가 없을 때 NullPointerException이 발생할 수 있습니다. 이 경우, writable 서버가 없을 때 예외 처리를 해야 합니다.
#hostingforum.kr
java
try {
if (topologyDescription.hasWritableServer()) {
System.out.println("Writable 서버가 있습니다.");
} else {
System.out.println("Writable 서버가 없습니다.");
}
} catch (NullPointerException e) {
System.out.println("Writable 서버가 없습니다.");
}
3. writable 서버를 확인하는 데 사용되는 기준은 MongoDB의 replica set 구성에 따라 다릅니다. 일반적으로 writable 서버는 primary node로 구성되어 있으며, secondary node는 읽기 전용입니다. 하지만 MongoDB는 secondary node가 writable 서버로 설정될 수 있습니다. 따라서 writable 서버를 확인할 때, MongoDB의 replica set 구성과 노드의 역할을 고려해야 합니다.
2025-04-29 12:45