34.11. 영구 tail 추적 활성화


이 기능을 활성화하려면 끝점 URI에 다음 옵션을 설정합니다.

  • persistentTailtracking 옵션을 true로 설정합니다.
  • 동일한 컬렉션을 여러 소비자 간에 재사용할 수 있도록 이 소비자의 고유 식별자에 대한 persistentId 옵션

또한 tailtrack Db , tail trackCollection 및 tail trackField 옵션을 설정하여 런타임 정보를 저장할 위치를 사용자 지정할 수 있습니다. 각 옵션에 대한 설명은 이 페이지 상단에 있는 끝점 옵션 표를 참조하십시오.

예를 들어 다음 경로는 증가 필드로 "departureTime"을 사용하여 1000ms의 기본 regeneration 커서 지연을 사용하여 1000ms의 "flights.cancellllations"에서 소비하며, "flights.camelTailing"의 "cancell boundaryer" ID를 유지합니다. 마지막 처리된 값을 "lasttrackingValue" 필드 아래에 저장합니다 (camelTail tracking 및 lastTrackingValue 는 기본값).

from("mongodb:myDb?database=flights&collection=cancellations&tailTrackIncreasingField=departureTime&persistentTailTracking=true" +
     "&persistentId=cancellationsTracker")
    .id("tailableCursorConsumer2")
    .autoStartup(false)
    .to("mock:test");

다음은 위의 것과 동일한 또 다른 예이지만, 영구 꼬리 추적 런타임 정보는 "lastProcessedDepartureTime" 필드의 "trackers.camelTrackers" 컬렉션에 저장됩니다.

from("mongodb:myDb?database=flights&collection=cancellations&tailTrackIncreasingField=departureTime&persistentTailTracking=true" +
     "&persistentId=cancellationsTracker&tailTrackDb=trackers&tailTrackCollection=camelTrackers" +
     "&tailTrackField=lastProcessedDepartureTime")
    .id("tailableCursorConsumer3")
    .autoStartup(false)
    .to("mock:test");

34.11.1. 스트림 소비자 변경

변경 스트림을 사용하면 애플리케이션이 MongoDB oplog 사용의 복잡성 및 위험 없이 실시간 데이터 변경에 액세스할 수 있습니다. 애플리케이션은 변경 스트림을 사용하여 컬렉션의 모든 데이터 변경 사항을 서브스크립션하고 즉시 대응할 수 있습니다. 변경 스트림은 집계 프레임워크를 사용하므로 애플리케이션은 특정 변경 사항을 필터링하거나 원하는 시점에 알림을 변환할 수도 있습니다. 교환 본문에는 모든 변경 내용의 전체 문서가 포함됩니다.

Change Streams Consumer를 구성하려면 consumerType,데이터베이스,컬렉션 및 선택적 JSON 속성 streamFilter 를 지정하여 이벤트를 필터링해야 합니다. 이 JSON 속성은 표준 MongoDB $match 집계입니다. XML DSL 구성을 사용하여 쉽게 지정할 수 있습니다.

<route id="filterConsumer">
    <from uri="mongodb:myDb?consumerType=changeStreams&amp;database=flights&amp;collection=tickets&amp;streamFilter={ '$match':{'$or':[{'fullDocument.stringValue': 'specificValue'}]} }"/>
    <to uri="mock:test"/>
</route>

Java 구성:

from("mongodb:myDb?consumerType=changeStreams&database=flights&collection=tickets&streamFilter={ '$match':{'$or':[{'fullDocument.stringValue': 'specificValue'}]} }")
    .to("mock:test");
참고

streamFilter 값을 속성 자리 표시자로 외부화하여 엔드포인트 URI 매개변수가 더 깔 하고 읽기 쉽도록 할 수 있습니다.

changeStreams 소비자 유형도 다음 OUT 헤더를 반환합니다.

Expand
헤더 키빠른 일정description (MongoDB API doc에서 추출)데이터 유형

CamelMongoDbStreamOperationType

MongoDbConstants.STREAM_OPERATION_TYPE

발생한 작업 유형입니다. 다음 값 중 하나일 수 있습니다. insert, delete, replace, update, drop, rename, dropDatabase, invalidate입니다.

문자열

_id

MongoDbConstants.MONGO_ID

삽입, 교체, 삭제, 업데이트 작업(예: CRUD 작업)에서 만들거나 수정한 문서의 _id가 포함된 문서입니다. sharded 컬렉션의 경우 문서의 전체 shard 키도 표시합니다. _id 필드는 이미 shard 키의 일부인 경우 반복되지 않습니다.

ObjectId

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동