WebSphere® Service Registry and Repository (WSRR) に保持されているいずれかのタイプのエンティティーを検索するには、RegistryLookup ノードを使用します。 指定した検索条件に一致するエンティティーがローカル環境に格納されます。 入力メッセージは変更されません。
「深さのポリシー」プロパティーの値 | ローカル環境の指定変更の値 | 返されるデータ |
---|---|---|
一致項目だけを返す (深さ = 0) | MatchOnly | 一致したエンティティーのみ |
一致項目を返し、直接の関係を表示する (互換性のみのため) | MatchShowRel | 一致したエンティティーおよび追加の参照情報 |
一致項目と直接の関連エンティティーを返す (深さ = 1) | MatchPlusImmediate | 一致したエンティティーおよび直接の関連子エンティティー |
一致項目とすべての関連エンティティーを返す (深さ = -1) | MatchPlusAll | 一致したエンティティーおよびすべての関連子エンティティー |
バージョン 6.1.0.4 より前のバージョンの WebSphere Message Broker との互換性を確保するために、MatchShowRel を使用してください。 MatchShowRel のローカル環境の出力を例 1 に示します。以前のバージョンで使用されていたフォーマットに従っています。 ただし、MatchShowRel オプションは非推奨になったので、旧バージョンとの互換性を保つ目的でのみ提供されています。 メッセージ・フローを新規作成するときは、MatchShowRel は使用しないでください。既存のメッセージ・フローをマイグレーションし、他のオプションのいずれかを使用することを検討してください。
検索条件と一致した個別のエンティティーだけを取得するには、MatchOnly オプションを使用します。 このオプションは有効ですが、一致したエンティティーに関連するエンティティーの情報は、ローカル環境の出力に含まれません。
検索条件に一致したエンティティーおよび関連子エンティティーを取得するには、MatchPlusImmediate オプションを使用します。 このオプションを使用すると、取得するデータの合計数を制限しながらも、一致したエンティティーの直接の関係にアクセスできるので、ほどよい件数の検索結果が得られるので便利です。
推奨されない MatchShowRel オプションを使用するメッセージ・フローをマイグレーションするときは、MatchOnly オプションまたは MatchPlusImmediate オプションのいずれかを使用します。 一致したエンティティーの関係情報を元のメッセージ・フローで使用していた場合は、MatchPlusImmediate オプションを使用します。 MatchShowRel オプションを使用するメッセージ・フローのマイグレーションを参照してください。
検索条件に一致したエンティティーおよびすべての関連子エンティティーを取得するには、MatchPlusAll オプションを使用します。 このオプションを使用するのは、メッセージ・フローがアクセスする必要があるのが、一致したエンティティーの直接の関係の数を超える場合だけです。これは、MatchPlusImmediate オプションで指定するよりもかなり多くのデータをメッセージ・フローが取得するためです。ローカル環境の出力ツリーを参照してください。
「深さのポリシー」プロパティーの推奨されない「MatchShowRel」オプションを使用するとき、ローカル環境の出力ツリーは異なるフォーマットになります。 以下の表で、ローカル環境の出力ツリーのフォーマットの違いについて説明します。
MatchOnly、MatchPlusImmediate、および MatchPlusAll の各オプション | MatchShowRel オプション |
---|---|
ServiceRegistry フォルダー・エレメントは XMLNSC コンパイラーが所有します。 | ServiceRegistry フォルダー・エレメントに所有パーサーはなく、各 Entity エレメントは XMLNS パーサーが所有します。 |
ServiceRegistry ツリーは不要なネーム・スペースは使用しません。 | ネーム・スペースは、すべての UserDefined フォルダー・エレメントに付けられます。つまり、これらのフォルダー内のフィールドにアクセスするには、指定したパスで、関連するネーム・スペースを宣言し、使用しなければならないことを意味します。 |
ServiceRegistry ツリーは XMLNSC パーサーを使って最適化します。 | 出力ツリーには、いくつかの XML 宣言、pcdata、およびビジネス上意味を持たない空白文字エレメントが含まれます。 |
WSRR では、バイナリー・データは、content 属性を使って GenericDocument で表します。 content 属性は、ローカル環境で XMLNSC タイプの Attribute+base64Binary、(0x03000160) で表示されます。 エンコードされていないバイナリー・データに Entity.content で直接アクセスできます。 ただし、特別な XMLNSC エレメント・タイプのために、ツリーが直列化されるとデータは自動的に base64 でエンコードされます。 | バイナリーの内容は、content 属性で、base64 でエンコードされた文字ストリングで表されます。 元のバイナリー・データが必要な場合、メッセージ・フローは Java™ メソッドを呼び出して値をデコードする必要があります。 |
検索されたエンティティーは、ユーザー・プロパティーを追加するために変更されることはありません。 | 一致したエンティティーは、WSRREncoding というユーザー・プロパティーとともにローカル環境に表示されます。 このプロパティーは、メッセージ・フローの処理に対して何の意味も持ちません。 WSRREncoding というユーザー・プロパティーがエンティティーに定義されている場合、定義されている値が使用され、値が定義されていない場合は、WSRREncoding プロパティーが value="DEFAULT" を付けて追加されます。 |
次の図は、グラフでエンティティー D1 が、親であるエンティティー C1 および A を参照しているため、メッセージ・ツリーでは、Entity D1 に A および C1 の EntityRef エレメントが含まれる様子を示しています。
次の図は、グラフでエンティティー X1 がエンティティー Y1 および Y2 によって参照されているため、メッセージ・ツリーでは、エンティティー X1 および参照先のエンティティー W1 が 2 度モデル化されている様子を示しています。
「深さのポリシー」プロパティーの推奨されない「MatchShowRel」オプションを使用する、既存のメッセージ・フローをマイグレーションするとき、ローカル環境の出力ツリーは異なるフォーマットになります。 前に示した表は、ローカル環境の出力ツリーのフォーマットの違いと、更新されたフォーマットのデータにアクセスするためにメッセージ・フローの何を変更する必要があるかを示しています。ローカル環境の出力ツリーを参照してください。