228.10. 启用持久性尾部跟踪
要启用此功能,请在端点 URI 中设置以下选项:
-
persistentTailTracking
选项为true
-
persistentId
选项为这个消费者的唯一标识符,以便可以在多个消费者间重复使用相同的集合
另外,您可以将 tailTrackDb
、tailTrackCollection
和 tailTrackField
选项设置为自定义将存储运行时信息的选项。有关每个选项的描述,请参阅此页面顶部的端点选项表。
例如,以下路由会消耗来自 "flights.cancellations" capped 集合,使用 "departureTime" 作为增加字段,默认重新生成光标延迟 1000ms,并打开持久性尾部跟踪,并在"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");
from("mongodb:myDb?database=flights&collection=cancellations&tailTrackIncreasingField=departureTime&persistentTailTracking=true" +
"&persistentId=cancellationsTracker")
.id("tailableCursorConsumer2")
.autoStartup(false)
.to("mock:test");
以下是与上面相同的另一个示例,但持久性尾部跟踪运行时信息将存储在 "trackers.camelTrackers" 集合中,在 "lastProcessedDepartureTime" 字段中: