WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

ユーザー定義プロパティー

ユーザー定義プロパティー (UDP) は、メッセージ・フロー・エディターを使用してメッセージを構成するときに 定義するプロパティーです。 このプロパティーは、Compute ノードなどのメッセージ・フロー・ノード内にある ESQL または Java™ プログラムによって使用できます。

UDP の利点は、デプロイメント時と実行時に操作員が値を変更できることです。 アプリケーション・プログラムを変更する必要はありません。 例えば、UDP を使用してコンピューター・センターに関するデータを保持する場合は、 メッセージ・ノード・レベルでコードに変更を加えずに、デプロイメント時に特定のコンピューター、 タスク、または環境用にメッセージ・フローを 構成できます。

メッセージ・フロー・エディターを起動してメッセージ・フローを作成したり 既存のメッセージ・フローを変更したり、メッセージ・フローで必要なノードを決定したりするときには、 一部のユーザー定義プロパティーに初期値を定義および指定する オプションも (タブによって) 提供されます。 「編集」ウィンドウの下部にある 「ユーザー定義プロパティー」タブを使用します。詳しくは、メッセージ・フロー・エディターを参照してください。

UDP にアクセスするには、以下の方法があります。

DECLARE ステートメントについて詳しくは、DECLARE ステートメントを 参照してください。JavaCompute ノードで UDP を使用する方法について詳しくは、JavaCompute ノードからメッセージ・フローのユーザー定義プロパティーへのアクセスを 参照してください。

ESQL を使用して UDP にアクセスする場合は、メッセージ・フローで UDP を定義したときに UDP に与えた値が、ESQL プログラムのその変数の値をオーバーライドします。

UDP の値は、ブローカー・アーカイブ・エディターを使用して BAR ファイルを編集することにより、 デプロイメント時に変更することもできます。 この値は、メッセージ・フローの定義時に 設定した値をオーバーライドします。

UDP の値はメッセージ・フロー・レベルで設定され、フローに含まれるすべての適格なノードで 同じになります。 適格なノード とは、UDP をサポートしており、アプリケーションに対して UDP を宣言している宣言の有効範囲内にあるノードのことです。例えば、 メッセージ・フロー・エディターを使用して、「myFlow」という メッセージ・フロー中の「mySchema」というスキーマで 宣言されている「timezone」というユーザー・プロパティーの値を 変更する場合、myFlow 中のすべてのノードのうち UDP をサポートしていて mySchema の範囲内のものに対して 実行時に UDP を使用できます。

メイン・フローとサブフローの両方で使用できる値を設定するには、サブフローで UDP を定義した後、それらをメイン・フローにプロモートします。 メイン・フローでその値を設定します。

実行時のユーザー定義プロパティーの制御

ユーザー定義プロパティーを実行時に照会、発見、および設定して、メッセージ・フローの動作を動的に変更することができます。 メッセージ・ブローカー API (CMP API としても知られる) または WebSphere Message Broker Explorer を使用してこれらのプロパティーを操作できます。それらのプロパティーは、システム・モニター・ツールがモニター対象のシステムで検出された状態に対する応答として自動化アクションを実行するために使用できます。

例えば、Route ノードが含まれるメッセージ・フローについて考えます。これを使用して、メッセージ内で定義されている顧客のクラスを識別します。 Route ノードには ProcessClasses というユーザー定義プロパティーがあり、初期値 All が設定されています。 ProcessClassesAll に設定すると、このノードはメッセージを顧客のすべてのクラスから最初のターミナルに経路指定して、すぐに処理を行います。

特定の条件が検出されると (例えば、モニター・システムによって、要求ロードが原因となってサービス・レベル・アグリーメントが目標値を下回ったことが検出される場合)、Route ノードでは、"Gold" クラス顧客だけの要求を受け渡してすぐに処理するようにし、他の顧客の要求は別の出力ターミナルに送信してキューに入れ、後でバッチ処理するように設定される必要があります。 ですから、モニター・アプリケーションでは ProcessClassesGold に設定して、Route ノードが重要度の低いメッセージを 2 次ターミナルに経路指定できるようにします。

ユーザー定義プロパティーの実行内容や指定可能な値を分かりやすくするため、相応な命名規則を採用してください。 例えば、property01 という名前で初期値が valueA のユーザー定義プロパティーは、RouteToAorB という名前で初期値が RouteA というプロパティーとしては役立ちません。

詳しくは、CMP アプリケーションでの実行時のメッセージ・フローのユーザー定義プロパティーの設定またはWebSphere Message Broker Explorer を使用してユーザー定義プロパティーを実行時に動的に設定するを参照してください。

UDP 値の指定変更における優先順位

以下の方法でユーザー定義プロパティーを定義できます。
  • ESQL コードにおいて
  • メッセージ・フロー・エディターを使用
  • BAR ファイルを指定変更
  • CMP API を使用

BAR ファイルの指定変更はメッセージ・フロー・エディターでの変更より優先され、メッセージ・フロー・エディターでの変更は ESQL コードにおける変更より優先されます。

以下の手順では、ユーザー定義プロパティーの値の優先順位について説明します。
  1. メッセージ・フローの BAR ファイルでユーザー定義プロパティー ProcessClassesAll に設定されているとします。 BAR ファイルのデプロイメント後、ProcessClasses の値は All です。
  2. 同じユーザー定義プロパティー (ProcessClasses) を CMP API を使用して Gold に設定し、setUserDefinedProperty(“ProcessClasses”, “Gold”) という呼び出しを実行します。 このメソッドが正常終了すると、ProcessClasses の値は Gold になります。
  3. ブローカーをシャットダウンしてから、再開します。 ProcessClasses の値は Gold のままです。
  4. 元のフローの BAR ファイルを再デプロイします。 デプロイメント後、ProcessClasses の値は All です。
ユーザー定義プロパティーの定義について詳しくは、以下の関連トピックを参照してください。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:20


概念トピック概念トピック | バージョン 8.0.0.5 | ac00643_