
MongoDB Driver Monitoring Server Closed Event의 getTopologyId() 메소드는 MongoDB 클라이언트가 연결된 서버의 토폴로지 ID를 반환합니다. 토폴로지 ID는 MongoDB 클라이언트가 연결된 서버의 식별자로, 클라이언트가 연결된 서버의 복제 세트나 샤드 클러스터를 식별하는 데 사용됩니다.
Topology ID를 얻는 이유는 MongoDB 클라이언트가 연결된 서버의 상태를 확인하고, 서버가 다운되거나 연결이 끊어졌을 때 이를 감지하고 재연결을 시도할 수 있습니다. 예를 들어, 클라이언트가 연결된 서버가 다운되면, 클라이언트는 토폴로지 ID를 사용하여 서버가 다운된 것을 감지하고, 다른 서버로 연결을 시도할 수 있습니다.
getTopologyId() 메소드를 사용하는 방법은 다음과 같습니다.
1. MongoDB Driver Monitoring Server Closed Event를 수신할 수 있는 이벤트 리스너를 등록합니다.
2. 이벤트 리스너에서 getTopologyId() 메소드를 호출하여 토폴로지 ID를 얻습니다.
3. 토폴로지 ID를 사용하여 서버의 상태를 확인하고, 서버가 다운되거나 연결이 끊어졌을 때 재연결을 시도합니다.
예를 들어, 다음 코드는 MongoDB Driver Monitoring Server Closed Event를 수신할 수 있는 이벤트 리스너를 등록하고, getTopologyId() 메소드를 호출하여 토폴로지 ID를 얻는 방법을 보여줍니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.addMonitoringEventSubscriber(new EventSubscriber())
.build();
MongoClient mongoClient = MongoClients.create(settings);
public class EventSubscriber implements EventSubscriber {
@Override
public void onEvent(Event event) {
if (event instanceof ServerClosedEvent) {
ServerClosedEvent serverClosedEvent = (ServerClosedEvent) event;
String topologyId = serverClosedEvent.getTopologyId();
System.out.println("토폴로지 ID: " + topologyId);
}
}
}
이 코드는 MongoDB Driver Monitoring Server Closed Event를 수신할 수 있는 이벤트 리스너를 등록하고, getTopologyId() 메소드를 호출하여 토폴로지 ID를 얻는 방법을 보여줍니다.
2025-08-13 08:19