227.10. 영구 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");