228.7. Tailable Cursor Consumer
MongoDB 提供了一种机制来即时消耗集合中持续数据的机制,使光标保持打开,就像是 *nix 系统的 tail -f 命令一样。由于服务器在客户端可用时将新数据推送至客户端,而不是让客户端在计划的时间间隔返回以获取新数据,因此这种机制比调度的轮询更高效。它还可减少其他冗余网络流量。
使用 tailable 光标仅有一个必要条件:集合必须是 "capped collection",这意味着它只会保存 N 对象,当达到限制时,MongoDB 会按最初插入的顺序清除旧对象。如需更多信息,请参阅 :http://www.mongodb.org/display/DOCS/Tailable+Cursors。
Camel MongoDB 组件实施可尾部的光标消费者,使此功能可用于 Camel 路由。当插入新对象时,MongoDB 会将它们作为 DBObjects 推送为 DBObjects,以便您的可尾部的光标消费者将其转换为交换,并将触发您的路由逻辑。