CMP API を使用して、実行時にメッセージ・フローのユーザー定義プロパティーを動的に照会、検出、および設定します。 CMP API を使用すると、プロパティーに文字のデータ・タイプを設定できます。
メッセージ・フロー上で検出可能なユーザー定義プロパティーの場合には、以下の条件にメッセージ・フローが準拠している必要があります。
- メッセージ・フローには、以下のノードが少なくとも 1 つ含まれていなければなりません。
- JavaCompute
- Compute
- Database
- Filter
- PHPCompute
- メッセージ・フローで、関連するユーザー定義プロパティーを定義し、指定変更値を提供する必要があります。
ヒント: プロパティーの目的および意図をすぐに理解できるように、定義するプロパティーに意味のある名前および値を使用してください。 例えば、property01 という名前で初期値が valueA のユーザー定義プロパティーは、RouteToAorB という名前で初期値が RouteA というプロパティーとしては役立ちません。
メッセージ・フローでユーザー定義プロパティーを照会、検出、および設定するには、CMP API を使用して以下の呼び出しを実行します。 この呼び出しの詳細については、使用する構文とパラメーターも含め、CMP API 資料 (メッセージ・ブローカー API) を参照してください。
- MessageFlowProxy.getUserDefinedPropertyNames() を呼び出して、メッセージ・フロー・エディターを使用してメッセージ・フローまたはサブフロー上に定義されたユーザー定義プロパティーすべてのリストを検索します。
対象のプロパティー名が含まれるストリング配列が戻ります。
- MessageFlowProxy.getUserDefinedProperty() を呼び出して、指定されたユーザー定義プロパティーの値を検索します。
プロパティーの値は Java.lang.String 値として戻ります。
- MessageFlowProxy.setUserDefinedProperty() を呼び出して、指定されたユーザー定義プロパティーに新しい値を設定します。
プロパティーが既存でなければなりません。 既存のユーザー定義プロパティーのデータ・タイプ (Java.lang.String) を変更することはできないので、新しい値が既存のデータ・タイプに準拠するようにしなければなりません。
MessageFlowProxy.setUserDefinedProperty() 呼び出しを使用して設定する値は、サブフローも含め、メッセージ・フロー内のすべての関連ノードに取り込まれます。