Red Hat Training

A Red Hat training course is available for Red Hat Fuse

93.3. ヘッダーの値

更新 操作の実行時に、SQL コンポーネントは更新数を以下のメッセージヘッダーに保存します。

ヘッダー説明

CamelSqlUpdateCount

Integer オブジェクトとして返される、更新 操作用に更新された行数。

CamelSqlRowCount

Integer オブジェクトとして返される、選択 操作のために返される行の数。

93.3.1. 例

以下の指定のルートでは、プロジェクトテーブルからすべてのプロジェクトを取得します。SQL クエリーにはパラメーター :#lic と :#min の 2 つの名前があることに留意してください。

その後、Camel はメッセージボディーまたはメッセージヘッダーからこれらのパラメーターを検索します。上記の例では、名前付きパラメーターに定数値
を使用して 2 つのヘッダーを設定しています。

   from("direct:projects")
     .setHeader("lic", constant("ASF"))
     .setHeader("min", constant(123))
     .to("elsql:projects:com/foo/orders.elsql")

elsql マッピングファイル

@NAME(projects)
  SELECT *
  FROM projects
  WHERE license = :lic AND id > :min
  ORDER BY id

メッセージボディーが java.util.Map の場合、名前付きパラメーターはボディーから取得されます。

   from("direct:projects")
     .to("elsql:projects:com/foo/orders.elsql")

Camel 2.16.1 以降では、Simple 式も使用できます。これにより、メッセージボディーの OGNL のような表記を使用できます。ここでは、 getLicense および getMinimum メソッドがあることを前提としています。

@NAME(projects)
  SELECT *
  FROM projects
  WHERE license = :${body.license} AND id > :${body.minimum}
  ORDER BY id