13.4. XML メッセージのフィルタリング


AMQ Broker では、XPath を使用して XML ボディーが含まれるテキストメッセージをフィルターできます。XPath (XML Path Language) は、XML ドキュメントからノードを選択するためのクエリー言語です。

注記

テキストベースのメッセージのみがサポートされます。大きなメッセージのフィルタリングはサポートされていません。

テキストベースのメッセージをフィルターするには、XPATH '<xpath-expression> の形式のメッセージセレクターを作成する必要があります。

メッセージボディーの例

<root>
    <a key='first' num='1'/>
    <b key='second' num='2'>b</b>
</root>

XPath クエリーに基づくフィルター

XPATH 'root/a'

警告

XPath はメッセージのボディーに適用され、XML の解析を必要とするため、フィルタリングは通常のフィルターよりも大幅に遅くなります。

XPath フィルターは、以下のプロトコルを使用するプロデューサーとコンシューマー間でサポートされます。

  • OpenWire JMS
  • Core ( および Core JMS)
  • STOMP
  • AMQP

XML Parser の設定

デフォルトでは、Broker によって使用される XML Parser は JDK によって使用されるプラットフォームのデフォルト DocumentBuilderFactory インスタンスです。

XPath デフォルト設定に使用される XML パーサーには、以下の設定が含まれます。

ただし、実装固有の問題に対応するために、機能をカスタマイズするには、artemis.profile 設定ファイルでシステムプロパティーを設定します。

org.apache.activemq.documentBuilderFactory.feature:prefix

機能設定の例

-Dorg.apache.activemq.documentBuilderFactory.feature:http://xml.org/sax/features/external-general-entities=true

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.