개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.14 19:35

Zookeeper::get 메서드 이해에 도움이 필요합니다.

  • 패턴마스터 1일 전 2025.03.14 19:35
  • 3
    1
저는 Zookeeper::get 메서드를 사용하여 데이터를 읽어오는데 문제가 있습니다.
Zookeeper::get 메서드는 하위 노드가 존재하는지 확인하여 없으면 예외를 발생시키는 것을 알고 있지만,
이 메서드가 하위 노드가 존재하지 않더라도 null 값을 반환할 수 있는지 궁금합니다.
혹시 하위 노드가 존재하지 않더라도 null 값을 반환하는 방법은 없을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 3,656건 / 19 페이지

검색

게시물 검색