325.11. プロデューサでの式パラメーターの使用
Camel 2.14 から利用可能
以下の特定のルートでは、データベースからすべてのプロジェクトを取得します。ライセンスを定義するためにエクスチェンジの本文を使用し、プロパティーの値を 2 番目のパラメーターとして使用します。
from("direct:projects") .setBody(constant("ASF")) .setProperty("min", constant(123)) .to("sql:select * from projects where license = :#${body} and id > :#${property.min} order by id")
325.11.1. コンシューマーでの式パラメーターの使用
Camel 2.23 以降で利用可能
SQL コンポーネントをコンシューマーとして使用する場合、式パラメーター (Simple 言語) を使用して、Bean でメソッドを呼び出して ID や日付などを取得するなど、動的クエリーパラメーターを作成することもできるようになりました。
たとえば、以下のサンプルでは、Bean myIdGenerator で nextId メソッドを呼び出します。
from("sql:select * from projects where id = :#${bean:myIdGenerator.nextId}") .to("mock:result");
また、Bean には次のメソッドがあります。
public static class MyIdGenerator { private int id = 1; public int nextId() { return id++; }
メッセージボディーとヘッダーを持つ既存の Exchange
がないことに注意してください。したがって、コンシューマーで使用できる単純な式は、この例のように Bean メソッドを呼び出すのに最も役立ちます。