218.6. Tailable Cursor Consumer
MongoDB は、*nix システムの tail -f
コマンドと同様にカーソルを開いたままにすることで、コレクションから継続中のデータを即座に消費するメカニズムを提供します。この仕組みは、クライアントが新しいデータを取得するためにスケジュールされた間隔で ping を行うのではなく、サーバーが利用可能になる時点で新しいデータをクライアントにプッシュするので、スケジュールされたポーリングよりもはるかに効率的です。そうでない場合には、冗長なネットワークトラフィックも軽減します。
テート可能なカーソルを使用する必要があるのは 1 つのみです。コレクションは「キャプチャーコレクション」である必要があります。つまり、N オブジェクトのみを保持する必要があり、制限に達すると、MongoDB は最初に挿入された順序で古いオブジェクトをフラッシュします。詳細は、http://www.mongodb.org/display/DOCS/Tailable+Cursors を参照してください。
Camel MongoDB コンポーネントはテール可能なカーソルコンシューマーを実装し、この機能を Camel ルートで使用できます。新規オブジェクトが挿入されると、MongoDB は調整可能なカーソルコンシューマーに Document
としてプッシュします。これにより、Exchange に変換され、ルートロジックがトリガーされます。