347.9. XPath の注入
Bean インテグレーションを使用して Bean のメソッドを呼び出す場合、@XPath (他の 言語も使用可) を使用してメッセージから値を展開し、メソッドパラメーターにバインドすることができます。
デフォルトの @XPath アノテーションには、SOAP および XML 名前空間が使用可能です。XPath 式で独自の名前空間 URI を使用する場合は、XPath アノテーション の独自のコピーを使用して、使用したい名前空間接頭辞を作成できます。
つまり、上部のコードを別のパッケージおよび/またはアノテーション名で独自のプロジェクトにカットアンドペーストし、メソッドパラメーターでアノテーションを使用するときにスコープ内に必要な名前空間接頭辞/URI を追加します。次に、メソッドパラメーターでアノテーションを使用すると、必要なすべての名前空間が XPath 式で使用できるようになります。
以下に例を示します。
public class Foo { @MessageDriven(uri = "activemq:my.queue") public void doSomething(@MyXPath("/ns1:foo/ns2:bar/text()") String correlationID, @Body String body) { // process the inbound message here } }