163.6. サンプル
以下の例では、顧客テーブルから行を取得します。
最初に、データソースを testdb
として Camel レジストリーに登録します。
次に、JDBC コンポーネントにルーティングするルートを設定し、SQL が実行されます。前の手順でバインドされた testdb
データソースを参照する方法に注意してください。
または、以下のように Spring で DataSource
を作成することもできます。
エンドポイントを作成し、SQL クエリーを IN メッセージのボディーに追加してからエクスチェンジを送信します。クエリーの結果は OUT ボディーで返されます。
一度に ResultSet ではなく 1 行で作業したい場合は、次のような Splitter EIP を使用する必要があります。
Camel 2.13.x 以前
Camel 2.14.x 以降
from("direct:hello") // here we split the data from the testdb into new messages one by one // so the mock endpoint will receive a message per row in the table // the StreamList option allows to stream the result of the query without creating a List of rows // and notice we also enable streaming mode on the splitter .to("jdbc:testdb?outputType=StreamList") .split(body()).streaming() .to("mock:result");