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

ユーザー定義プロパティー (UDP) とは、メッセージ・フロー・エディターによって設計時に初期値を変更したり、ブローカー・アーカイブ・エディターによってデプロイメント時に初期値をオーバーライドしたりできるユーザー定義の定数のことです。UDP は、ESQL または Java プログラム内で使用できます。ESQL では、UDP をプログラムに定義するために DECLARE ステートメントを使用します。DECLARE ステートメントで UDP に初期値を与えることはできますが、コードでこの値を実行時に変更することはできません。

DECLARE ステートメントで UDP の初期値を指定すると、この値がデフォルトになります。しかし、メッセージ・フロー・エディターによって設計時に指定された値や、BAR エディターによってデプロイメント時に指定された値は (長さゼロのストリングであっても)、DECLARE ステートメントでコード化された初期値をオーバーライドします。

メッセージ・フロー中のすべての UDP に、DECLARE ステートメントで指定された値か、メッセージ・フロー・エディターまたは BAR エディターによって指定された値がなければなりません。ない場合は、デプロイメント時にエラーが発生します。実行時に、UDP を宣言した後で、後続の ESQL ステートメントによってその値を照会できますが、変更することはできません。

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

UDP を使用すると、構成データの設定が容易になり、通常の定数と全く同じように使用できます。ユーザー作成プラグインに対する外部呼び出しや環境ツリーの構文解析は関係しないので、ESQL コードの作成と保守が容易になり、パフォーマンスも向上します。また、ツリーからデータを読み取る際の構文解析のコストも除かれます。ユーザー定義プロパティーの値はデプロイメント時に変数に転写されるので、高速アクセスできるようになります。

UDP をプログラムに追加するには、DECLARE ステートメントを使用します。モジュールまたはスキーマの中でのみ、UDP を宣言することができます。

以下のタイプのブローカー・ノードが UDP にアクセスできます。

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

同様に、メッセージ・フロー・エディターを使用してサブフロー中のユーザー定義プロパティーの値を変更する場合、サブフロー中のすべてのノードのうち UDP をサポートしており DECLARE ステートメントの有効範囲内にあるものに対して、新しく編集したプロパティーを使用できます。(親フロー中のノードに対して使用することはできません。)
注: ノード・レベルでは (そのノードが UDP の定義対象のサブフローでない限り)、プロパティー・ダイアログに UDP は表示されません。例えば、実行時に timezone プロパティーを myFlow 中の compute ノードに対して使用できる場合に、compute ノードのプロパティー・ダイアログを開くと、timezone プロパティーは表示されません。

ご使用のプログラムに対してユーザー定義プロパティーを定義することに関する情報は、DECLARE ステートメントを参照してください。

関連概念
メッセージ・フローの概要
ESQL 変数
関連タスク
メッセージ・フローの開発
UDP を使用してデプロイメント時にメッセージ・フローを構成する
関連資料
ESQL 変数
DECLARE ステートメント
メッセージ・フロー・エディター
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ak01015_