第15章 EL
概要
Unified Expression Language (EL) は当初 JSP 2.1 標準 (JSR-245) の一部として策定されました。現在は、スタンドアロン言語としても利用できるようになりました。Apache Camel は EL 言語のオープンソース実装である JUEL (http://juel.sourceforge.net/) と統合しています。
JUEL パッケージの追加
ルートで EL を使用するには、例15.1「camel-juel 依存関係の追加」 で示すように、camel-juel
の依存関係をプロジェクトに追加する必要があります。
例15.1 camel-juel 依存関係の追加
<!-- Maven POM File --> <properties> <camel-version>2.23.2.fuse-780036-redhat-00001</camel-version> ... </properties> <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-juel</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
静的インポート
アプリケーションコードで el()
static メソッドを使用するには、以下の import ステートメントを Java ソースファイルに追加します。
import static org.apache.camel.language.juel.JuelExpression.el;
変数
表15.1「EL 変数」 は、EL を使用する際にアクセス可能な変数の一覧を示しています。
変数 | 型 | 値 |
---|---|---|
|
| 現在のエクスチェンジ |
|
| IN メッセージ |
|
| OUT メッセージ |
例
例15.2「EL を使用したルート」 は、EL を使用する 2 つのルートを示しています。
例15.2 EL を使用したルート
<camelContext> <route> <from uri="seda:foo"/> <filter> <language language="el">${in.headers.foo == 'bar'}</language> <to uri="seda:bar"/> </filter> </route> <route> <from uri="seda:foo2"/> <filter> <language language="el">${in.headers['My Header'] == 'bar'}</language> <to uri="seda:bar"/> </filter> </route> </camelContext>