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