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");