第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.familyNameMVEL モジュールの追加
				ルートで 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 を使用したルート