第23章 MVEL
概要 リンクのコピーリンクがクリップボードにコピーされました!
MVEL は Java ベースの動的な言語で、OGNL に似ていますが、OGNL より高速だと言われています。MVEL のサポートは camel-mvel
モジュールにあります。
構文 リンクのコピーリンクがクリップボードにコピーされました!
MVEL のドット構文を使用して Java メソッドを呼び出することができます。以下に例を示します。
getRequest().getBody().getFamilyName()
getRequest().getBody().getFamilyName()
MVEL は動的に型付けされているため、getFamilyName()
メソッドを呼び出す前にメッセージボディーのインスタンス (Object
型) をキャストする必要はありません。Bean の属性を取得する場合は、以下のような簡単な構文を使用することもできます。
request.body.familyName
request.body.familyName
MVEL モジュールの追加 リンクのコピーリンクがクリップボードにコピーされました!
ルートで MVEL を使用するには、例23.1「camel-mvel 依存関係の追加」 で示すように、camel-mvel
の依存関係をプロジェクトに追加する必要があります。
例23.1 camel-mvel 依存関係の追加
組み込み変数 リンクのコピーリンクがクリップボードにコピーされました!
表23.1「MVEL 変数」 に、MVEL を使用する際にアクセス可能な組み込み変数の一覧を示します。
名前 | 型 | 説明 |
---|---|---|
|
| 現在のエクスチェンジ |
|
| 現在のエクスチェンジ |
|
| エクスチェンジの例外 (ある場合) |
|
| エクスチェンジの ID |
|
| Fault メッセージ (ある場合) |
|
| IN メッセージ |
|
| OUT メッセージ |
|
| エクスチェンジプロパティー |
|
| 指定されたエクスチェンジプロパティーの値 |
|
| 指定されたエクスチェンジプロパティーのタイプの値。 |
例 リンクのコピーリンクがクリップボードにコピーされました!
例23.2「MVEL を使用したルート」 は、MVEL を使用するルートを示しています。
例23.2 MVEL を使用したルート