172.9. サンプル - データソース間でデータを移動する
一般的なユースケースは、データのクエリー、処理、および別のデータソースへの移動 (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");