32.3. XPath の注入
パラメーターバインディングアノテーション リンクのコピーリンクがクリップボードにコピーされました!
Apache Camel Bean インテグレーションを使用して Java Bean 上でメソッドを呼び出す場合、@XPath アノテーションを使用して、エクスチェンジから値を抽出してメソッドパラメーターにバインドすることができます。
たとえば、AccountService オブジェクトで credit メソッドを呼び出す以下のルートのフラグメントを考えてみましょう。
from("queue:payments")
.beanRef("accountService","credit")
...
from("queue:payments")
.beanRef("accountService","credit")
...
credit メソッドは、パラメーターバインディングアノテーションを使用してメッセージボディーから関連データを抽出し、以下のようにパラメーターに挿入します。
詳細は、カスタマポータルの Apache Camel 開発者ガイド の Bean インテグレーション を参照してください。
namespace リンクのコピーリンクがクリップボードにコピーされました!
表32.1「@XPath の定義済み名前空間」 は、XPath に対して定義済みの名前空間を示します。これらの名前空間接頭辞は、@XPath アノテーションに表示される XPath 式で使用できます。
| 名前空間 URI | 接頭辞 |
|---|---|
|
| |
|
|
カスタム namespace リンクのコピーリンクがクリップボードにコピーされました!
@NamespacePrefix アノテーションを使用して、カスタム XML 名前空間を定義することができます。@NamespacePrefix アノテーションを呼び出して、@XPath アノテーションの namespaces 引数を初期化します。その後、@NamespacePrefix で定義された名前空間を @XPath アノテーションの式の値で使用することができます。
たとえば、接頭辞 ex をカスタム名前空間 http://fusesource.com/examples と関連付けるには、以下のように @XPath アノテーションを呼び出します。