172.8. サンプル - データソース間でデータを移動する
一般的なユースケースは、データのクエリー、処理、および別のデータソースへの移動 (ETL 操作) です。次の例では、1 時間ごとにソーステーブルから新しい顧客レコードを取得し、それらをフィルター処理/変換して、宛先テーブルに移動します。
from("timer://MoveNewCustomersEveryHour?period=3600000") .setBody(constant("select * from customer where create_time > (sysdate-1/24)")) .to("jdbc:testdb") .split(body()) .process(new MyCustomerProcessor()) //filter/transform results as needed .setBody(simple("insert into processed_customer values('${body[ID]}','${body[NAME]}')")) .to("jdbc:testdb");