ユーザー定義プロパティー (UDP) は、メッセージ・フロー・エディターを使用してメッセージを構成するときに 定義するプロパティーです。 このプロパティーは、Compute ノードなどのメッセージ・フロー・ノード内にある ESQL または Java™ プログラムによって使用できます。
UDP の利点は、デプロイメント時と実行時に操作員が値を変更できることです。 アプリケーション・プログラムを変更する必要はありません。 例えば、UDP を使用してコンピューター・センターに関するデータを保持する場合は、 メッセージ・ノード・レベルでコードに変更を加えずに、デプロイメント時に特定のコンピューター、 タスク、または環境用にメッセージ・フローを 構成できます。
メッセージ・フロー・エディターを起動してメッセージ・フローを作成したり 既存のメッセージ・フローを変更したり、メッセージ・フローで必要なノードを決定したりするときには、 一部のユーザー定義プロパティーに初期値を定義および指定する オプションも (タブによって) 提供されます。 「編集」ウィンドウの下部にある 「ユーザー定義プロパティー」タブを使用します。詳しくは、メッセージ・フロー・エディターを参照してください。
DECLARE ステートメントについて詳しくは、DECLARE ステートメントを 参照してください。JavaCompute ノードで UDP を使用する方法について詳しくは、JavaCompute ノードからメッセージ・フローのユーザー定義プロパティーへのアクセスを 参照してください。
ESQL を使用して UDP にアクセスする場合は、メッセージ・フローで UDP を定義したときに UDP に与えた値が、ESQL プログラムのその変数の値をオーバーライドします。
UDP の値は、ブローカー・アーカイブ・エディターを使用して BAR ファイルを編集することにより、 デプロイメント時に変更することもできます。 この値は、メッセージ・フローの定義時に 設定した値をオーバーライドします。
UDP の値はメッセージ・フロー・レベルで設定され、フローに含まれるすべての適格なノードで 同じになります。 適格なノード とは、UDP をサポートしており、アプリケーションに対して UDP を宣言している宣言の有効範囲内にあるノードのことです。例えば、 メッセージ・フロー・エディターを使用して、「myFlow」という メッセージ・フロー中の「mySchema」というスキーマで 宣言されている「timezone」というユーザー・プロパティーの値を 変更する場合、myFlow 中のすべてのノードのうち UDP をサポートしていて mySchema の範囲内のものに対して 実行時に UDP を使用できます。
ユーザー定義プロパティーを実行時に照会、発見、および設定して、メッセージ・フローの動作を動的に変更することができます。 メッセージ・ブローカー API (CMP API としても知られる) または WebSphere Message Broker Explorer を使用してこれらのプロパティーを操作できます。それらのプロパティーは、システム・モニター・ツールがモニター対象のシステムで検出された状態に対する応答として自動化アクションを実行するために使用できます。
例えば、Route ノードが含まれるメッセージ・フローについて考えます。これを使用して、メッセージ内で定義されている顧客のクラスを識別します。 Route ノードには ProcessClasses というユーザー定義プロパティーがあり、初期値 All が設定されています。 ProcessClasses を All に設定すると、このノードはメッセージを顧客のすべてのクラスから最初のターミナルに経路指定して、すぐに処理を行います。
特定の条件が検出されると (例えば、モニター・システムによって、要求ロードが原因となってサービス・レベル・アグリーメントが目標値を下回ったことが検出される場合)、Route ノードでは、"Gold" クラス顧客だけの要求を受け渡してすぐに処理するようにし、他の顧客の要求は別の出力ターミナルに送信してキューに入れ、後でバッチ処理するように設定される必要があります。 ですから、モニター・アプリケーションでは ProcessClasses を Gold に設定して、Route ノードが重要度の低いメッセージを 2 次ターミナルに経路指定できるようにします。
ユーザー定義プロパティーの実行内容や指定可能な値を分かりやすくするため、相応な命名規則を採用してください。 例えば、property01 という名前で初期値が valueA のユーザー定義プロパティーは、RouteToAorB という名前で初期値が RouteA というプロパティーとしては役立ちません。
詳しくは、CMP アプリケーションでの実行時のメッセージ・フローのユーザー定義プロパティーの設定またはWebSphere Message Broker Explorer を使用してユーザー定義プロパティーを実行時に動的に設定するを参照してください。
BAR ファイルの指定変更はメッセージ・フロー・エディターでの変更より優先され、メッセージ・フロー・エディターでの変更は ESQL コードにおける変更より優先されます。