228.10. 영구 테일 추적 활성화
이 기능을 활성화하려면 끝점 URI에서 최소한 다음 옵션을 설정합니다.
-
persistentTailTracking옵션을true로 설정 -
이 소비자의 고유 식별자에 대한
persistentId옵션을 사용하면 많은 소비자에서 동일한 컬렉션을 재사용할 수 있습니다.
또한 tailTrackDb,tailTrackCollection 및 tailTrackField 옵션을 설정하여 런타임 정보가 저장되는 위치를 사용자 지정할 수 있습니다. 각 옵션에 대한 설명은 이 페이지 상단에 있는 끝점 옵션 표를 참조하십시오.
예를 들어, 다음 경로는 "flights.cancellations" capped 컬렉션에서 소비하고, 증가 필드로 "departureTime"을 사용하고, 1000ms의 기본 다시 생성 커서 지연과 함께 영구 tail 추적이 켜지고 "flights.camelTailTracking"의 "cancellationsTracker" ID 아래에 유지됩니다. "lastTrackingValue" 필드에 마지막으로 처리된 값을 저장합니다(camelTailTracking 및 lastTrackingValue 는 기본값임).
from("mongodb:myDb?database=flights&collection=cancellations&tailTrackIncreasingField=departureTime&persistentTailTracking=true" +
"&persistentId=cancellationsTracker")
.id("tailableCursorConsumer2")
.autoStartup(false)
.to("mock:test");
다음은 위의 항목과 동일한 예입니다. 그러나 영구 테일 추적 런타임 정보는 "마지막ProcessedDepartureTime" 필드의 "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");