
Zookeeper::get 메소드는 데이터를 읽어오는 데 사용되는 메소드입니다. 이 메소드의 파라미터는 다음과 같습니다.
- `path`: 읽어올 데이터의 경로를 지정하는 문자열입니다.
- `watcher`: 데이터가 변경되면 호출되는 콜백 함수입니다. (옵션)
- `stat`: 데이터의 메타 정보를 포함하는 Stat 객체입니다. (옵션)
반환값은 읽어온 데이터를 포함하는 byte[] 객체입니다.
Zookeeper::get 메소드는 동기적으로 데이터를 읽어 올 수 있습니다. 동기적 방법은 데이터를 읽어 올 때까지 프로그램을 블록킹합니다. 비동기적 방법은 현재 Zookeeper API에서 제공되지 않습니다.
만약 비동기적 방법이 필요하다면, Zookeeper API를 직접 구현하거나, 다른 라이브러리를 사용하는 것을 고려해야 합니다.
예를 들어, Java에서 Zookeeper API를 사용하는 경우, `org.apache.zookeeper.Watcher` 인터페이스를 구현하여 데이터가 변경되면 호출되는 콜백 함수를 등록할 수 있습니다.
#hostingforum.kr
java
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher.Event.KeeperState;
import org.apache.zookeeper.data.Stat;
public class ZookeeperWatcher implements Watcher {
@Override
public void process(WatchedEvent event) {
if (event.getType() == Event.EventType.None && event.getState() == KeeperState.SyncConnected) {
try {
Stat stat = new Stat();
byte[] data = zookeeper.getData("/path/to/data", false, stat);
System.out.println(new String(data));
} catch (KeeperException e) {
e.printStackTrace();
}
}
}
}
이 예제에서는 `ZookeeperWatcher` 클래스를 구현하여 데이터가 변경되면 호출되는 콜백 함수를 등록합니다. 데이터를 읽어 올 때까지 프로그램을 블록킹하지 않습니다.
2025-06-08 04:47