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 メソッドを呼び出すのに最も役立ちます。