2017-09-01 7 views
0

私のデータベースからテーブルを連続的にポーリングし、Kafkaにプッシュしたいと思います。 私はこれにapache camelを使用しています。次のようにapache camelを使用してデータベースをポーリングする方法

私のルートは以下のとおりです。 -

from(timer:every 1 sec). 
to(sql:select first 1000 * from myTable where id > myId). 
to(updateMyId). 
to(kafka:url).end() 

問題は、それが次の繰り返しで更新MYIDを取らないということです。ルートは静的で、最初はmyId = 1の場合、ポーリングは1から続きます。

myIdを動的に更新するにはどうすればよいですか?

+0

何をポーリングしていますか?新しい行?更新された行?あなたが使っているデータベースは何ですか? – Namphibian

+0

新しい行のポーリング。そのRDBMSはまだ未定で、MySQL、PostgreSQLなどが可能です。 – user422489

答えて

0

更新されるとthis.set myIdプロパティのようにしてください。

from(timer:every 1 sec). 
    to(sql:select first 1000 * from myTable where id >:#${property.myId}). 
    to(updateMyId). 
    to(kafka:url).end(); 

またはBeanにロジックを次のように移動します。

to(sql:select first 1000 * from myTable where id >:#${property.myId}). 
    to(updateMyId).