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

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

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

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

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

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

モジュールまたはスキーマの中でのみ、UDP を宣言することができます。

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

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

同様に、メッセージ・フロー・エディターを使用してサブフロー中のユーザー定義プロパティーの値を変更する場合、サブフロー中のすべてのノードのうち UDP をサポートしており、宣言の有効範囲内にあるものに対して、新しく編集したプロパティーを使用できます。(親フロー中のノードに対して使用することはできません。)
注: ノード・レベルでは (そのノードが UDP の定義対象のサブフローでない限り)、プロパティー・ダイアログに UDP は表示されません。例えば、実行時に timezone プロパティーを myFlow 中の compute ノードに対して使用できる場合に、compute ノードのプロパティー・ダイアログを開くと、timezone プロパティーは表示されません。
関連概念
メッセージ・フローの概要
ESQL 変数
関連タスク
メッセージ・フローの開発
UDP を使用してデプロイメント時にメッセージ・フローを構成する
関連資料
ESQL 変数
DECLARE ステートメント
メッセージ・フロー・エディター
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ac00643_