第24章 Object-Graph Navigation Language (OGNL)
概要
OGNL は、Java オブジェクトのプロパティーを取得および設定するための式言語です。プロパティーの値の取得および設定に同じ式を使用します。OGNL サポートは camel-ognl
モジュールに含まれます。
Camel on EAP デプロイメント
このコンポーネントは、Red Hat JBoss Enterprise Application Platform (JBoss EAP) コンテナー上で簡素化されたデプロイメントモデルを提供する Camel on EAP (Wildfly Camel) フレームワークによってサポートされます。
OGNL モジュールの追加
ルートで OGNL を使用するには、例24.1「camel-ognl 依存関係の追加」 に示したように、camel-ognl
への依存関係をプロジェクトに追加する必要があります。
例24.1 camel-ognl 依存関係の追加
<!-- Maven POM File --> ... <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ognl</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
静的インポート
アプリケーションコードで ognl()
static メソッドを使用するには、以下の import ステートメントを Java ソースファイルに追加します。
import static org.apache.camel.language.ognl.OgnlExpression.ognl;
組み込み変数
表24.1「OGNL 変数」 に、OGNL を使用する際にアクセス可能な組み込み変数の一覧を示します。
名前 | 型 | 説明 |
---|---|---|
|
| 現在のエクスチェンジ |
|
| 現在のエクスチェンジ |
|
| エクスチェンジの例外 (ある場合) |
|
| エクスチェンジの ID |
|
| Fault メッセージ (ある場合) |
|
| IN メッセージ |
|
| OUT メッセージ |
|
| エクスチェンジプロパティー |
|
| 指定されたエクスチェンジプロパティーの値 |
|
| 指定されたエクスチェンジプロパティーのタイプの値。 |
例
例24.2「OGNL を使用したルート」 は、OGNL を使用するルートを示しています。
例24.2 OGNL を使用したルート
<camelContext> <route> <from uri="seda:foo"/> <filter> <language langauge="ognl">request.headers.foo == 'bar'</language> <to uri="seda:bar"/> </filter> </route> </camelContext>