384.4.3. znode에 쓰기


다음 스니펫은 이미 존재하는 경우 교환의 페이로드를 /somepath/somenode/ 의 znode에 작성합니다.

from("direct:write-to-znode")
    .to("zookeeper://localhost:39913/somepath/somenode");
Copy to Clipboard Toggle word wrap

유연성을 위해 끝점을 사용하면 대상 znode 를 메시지 헤더로 동적으로 지정할 수 있습니다. CamelZooKeeperNode 문자열로 키를 가진 헤더가 있는 경우 헤더 값이 서버의 znode 경로로 사용됩니다. 예를 들어 위의 동일한 경로 정의를 사용하는 경우 다음 코드 스니펫은 /somepath/somenode 에 없는 데이터를 /somepath/someothernode 헤더의 경로에 기록합니다.

주의

ZooKeeper에 저장된 데이터는 바이트 기반이므로 testPayloadbyte[] 로 변환될 수 있어야 합니다.

Object testPayload = ...
template.sendBodyAndHeader("direct:write-to-znode", testPayload, "CamelZooKeeperNode", "/somepath/someothernode");
Copy to Clipboard Toggle word wrap

노드가 없는 경우 노드를 생성하려면 create 옵션을 사용해야 합니다.

from("direct:create-and-write-to-znode")
    .to("zookeeper://localhost:39913/somepath/somenode?create=true");
Copy to Clipboard Toggle word wrap

버전 2.11 부터 DELETE 로 설정하여 CamelZookeeperOperation 헤더를 사용하여 노드를 삭제 할 수도 있습니다.

from("direct:delete-znode")
    .setHeader(ZooKeeperMessage.ZOOKEEPER_OPERATION, constant("DELETE"))
    .to("zookeeper://localhost:39913/somepath/somenode");
Copy to Clipboard Toggle word wrap

또는 다음과 같습니다.

<route>
  <from uri="direct:delete-znode" />
  <setHeader headerName="CamelZookeeperOperation">
     <constant>DELETE</constant>
  </setHeader>
  <to uri="zookeeper://localhost:39913/somepath/somenode" />
</route>
Copy to Clipboard Toggle word wrap

zookeeper 노드는 다른 유형이 있을 수 있습니다. '임시' 또는 '영구' 또는 '일관됨'일 수 있습니다. 각 유형에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 기본적으로 끝점은 비sequenced 임시 노드를 생성하지만 유형은 uri config 매개 변수 또는 특수 메시지 헤더를 통해 쉽게 조작할 수 있습니다. create 모드에 예상되는 값은 CreateMode 열거형의 이름일 뿐입니다.

  • PERSISTENT
  • PERSISTENT_SEQUENTIAL
  • 임시
  • EPHEMERAL_SEQUENTIAL

예를 들어 URI 구성을 통해 영구 znode 를 생성하려면 다음을 수행합니다.

from("direct:create-and-write-to-persistent-znode")
    .to("zookeeper://localhost:39913/somepath/somenode?create=true&createMode=PERSISTENT");
Copy to Clipboard Toggle word wrap

또는 헤더 CamelZookeeperCreateMode 를 사용합니다.

주의

ZooKeeper에 저장된 데이터는 바이트 기반이므로 testPayloadbyte[] 로 변환될 수 있어야 합니다.

Object testPayload = ...
template.sendBodyAndHeader("direct:create-and-write-to-persistent-znode", testPayload, "CamelZooKeeperCreateMode", "PERSISTENT");
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat