
Zookeeper::get 메서드는 하위 노드가 존재하지 않으면 null 값을 반환하지 않습니다. 대신, org.apache.zookeeper.KeeperException.NodeNotFoundException 예외를 발생시킵니다.
만약 null 값을 반환하고 싶다면, Zookeeper::exists 메서드를 사용하여 하위 노드가 존재하는지 확인한 후, 존재하지 않으면 null 값을 반환하는 로직을 직접 구현해야 합니다.
예를 들어, Zookeeper::exists 메서드를 사용하여 하위 노드가 존재하는지 확인한 후, 존재하지 않으면 null 값을 반환하는 로직은 다음과 같습니다.
#hostingforum.kr
java
if (zk.exists(path, false) == null) {
return null;
}
이 코드는 Zookeeper::exists 메서드를 사용하여 하위 노드가 존재하는지 확인하고, 존재하지 않으면 null 값을 반환합니다.
만약 Zookeeper::get 메서드를 사용하여 데이터를 읽어오고 싶다면, Zookeeper::exists 메서드를 사용하여 하위 노드가 존재하는지 확인한 후, 존재하는 경우에만 Zookeeper::get 메서드를 호출하는 로직을 구현해야 합니다.
#hostingforum.kr
java
if (zk.exists(path, false) != null) {
return zk.getData(path, false, null);
} else {
return null;
}
이 코드는 Zookeeper::exists 메서드를 사용하여 하위 노드가 존재하는지 확인하고, 존재하는 경우에만 Zookeeper::get 메서드를 호출하여 데이터를 읽어옵니다.
2025-03-14 19:36