JavaCompute ノード

このトピックには、以下のセクションが含まれています。

目的

JavaCompute ノードを使用して、以下のタスクのいずれかを行います。

  • 着信メッセージを調べ、その内容に応じてノードの 2 つの出力ターミナルのどちらかに それを無変更で伝搬します。このノードの動作は Filter ノードと似ていますが、 使用する出力ターミナルを決めるために ESQL ではなく Java を使用します。
  • 着信メッセージの一部を変更して、変更されたメッセージを出力ターミナルの 1 つに伝搬します。
  • 入力メッセージから完全に独立した新規の出力メッセージを作成および構築します。

ノードによって使用される Java コードは、Eclipse Java プロジェクト内に保管されます。

ワークベンチでは、JavaCompute ノードは次のアイコンで表されます。

Compute ノード・アイコン

メッセージ・フロー内でのこのノードの使用

JavaCompute ノードを使用できる方法は 3 つあります。

  • JavaCompute ノードを使用して、メッセージを参照し、メッセージの内容に基づいてメッセージを出力ターミナルに伝搬します。 メッセージの内容は変更されず、ユーザーはメッセージに対する読み取り専用アクセスを持ちます。
  • JavaCompute ノードを使用して、メッセージに変更を加え、変更が加えられたメッセージを出力ターミナルに伝搬します。
  • JavaCompute ノードを使用して、新しいメッセージを作成し、新しいメッセージを出力ターミナルに伝搬します。

Message Brokers Toolkit 内のサンプル・ギャラリーにあるサンプルを参照してください。

JavaCompute ノードの構成

メッセージ・フロー内に出現する JavaCompute ノードを、インスタンスごとに構成できます。

これを行うには、エディター・ビューでノードを右クリックします。 「Java をオープン」オプションが表示されます。 このプロパティーをクリックします。

この操作を初めて行うとき、新規の Java プロジェクトおよび Java クラスを作成するための、 いくつかのスケルトン・コードを含むウィザードが起動されます。 このスケルトン・コードは、Java エディターで示されます。

提供されるスケルトン・コードまたはテンプレートの例については、JavaCompute ノードに対する Java コードの作成を参照してください。

この操作が初めてではない場合、Java コードが Java 計算パースペクティブで示されます。

JavaCompute ノードのインスタンスを Java クラスに関連付けるには、 メッセージ・フローのエディター・ビュー内でそのノードを右クリックして、 「プロパティー」を選択してから「基本」を選択します。 ノードの基本プロパティーが表示されます。

JavaCompute ノードには、基本プロパティーが 1 つだけあります。 それは、「Java クラス」です。 このノードで使用される Java クラスの名前を入力してください。 入力する名前は、メッセージ・フロー・プロジェクトのプロジェクト参照で使用可能な JavaCompute ノード・クラスのリストに含まれていなければなりません。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

構成が完了したら、「適用」をクリックします。 これにより、プロパティー・ダイアログを閉じずに JavaCompute ノードが変更されます。

またはその代わりに、「OK」をクリックします。 これにより、JavaCompute ノードが変更されて、プロパティー・ダイアログを閉じます。

「キャンセル」をクリックすると、ダイアログを閉じてノードの変更をすべて破棄できます。

Java の指定

JavaCompute ノードの動作をカスタマイズするには、Java ステートメントをコーディングします。

例えば、入力メッセージ、データベースの内容 (変更なし、または変更あり)、または新しいデータを使って 1 つ以上の新規出力メッセージを作成するようにこのノードの動作をカスタマイズできます。 データベースからの値を追加することにより入力メッセージ内の値を変更し、その結果を出力メッセージ内のフィールドに保管することもできます。

必要な Java ステートメントは、この JavaCompute ノードに関連付けられた Java ファイル内にコーディングします。

このノード用の Java ファイルが存在していない場合、JavaCompute ノードを右クリックして、 「Java をオープン」をクリックします。 これにより、エディター・ビューに新しい Java ファイルが作成されてオープンされます。

ファイルが既に存在する場合は、「Java クラス」プロパティーの 横にある「ブラウズ」ボタンをクリックします。 「JavaCompute ノード・タイプの選択」ダイアログが表示され、このメッセージ・フローで使用可能な Java クラスがリストされます。 適切な Java クラスを選択して、「OK」をクリックします。 マッチングするタイプのリストは、「選択」フィールドに 1 つ以上の文字が入力されたときに適切な Java クラスを示します。
注: 「選択」フィールドに「*」を入力すると、すべての Java クラスが表示されます。

メッセージの妥当性検査

妥当性検査プロパティーを設定して、JavaCompute ノードによって生成されたメッセージの妥当性検査を行う方法を定義します。 これらのプロパティーによって、入力メッセージの妥当性検査は行われないことに注意してください。 そのような妥当性検査が必要な場合には、入力ノードまたは先行する Validation ノードによって妥当性検査がすでに行われていることが期待されます。

詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

ターミナルおよびプロパティー

JavaCompute ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure 計算時に障害が検出された場合、入力メッセージがルーティングされる出力ターミナル。 (「妥当性検査」プロパティーが設定されていても、ノードの failure ターミナルへ伝搬されたメッセージは検査されません。)
Out 変換されたメッセージがルーティングされる出力ターミナル。
Alternate Out ターミナルの代りに変換済みメッセージのルート先に指定できる、代替の出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

JavaCompute ノードには、次の表で説明されている基本プロパティーがあります。

プロパティー M C デフォルト 説明
Java クラス はい いいえ なし このノードで使用される Java クラスの名前。 入力する名前は、使用可能な Java クラスのリストに含まれていなければなりません。

JavaCompute ノードの妥当性検査プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
妥当性検査 はい はい なし 妥当性検査が行われるかどうか、および妥当性検査の対象となるメッセージの部分。 有効な値は、「なし」「内容と値」「内容」、および「継承」です。
失敗処置 はい いいえ 例外 妥当性検査障害が発生した場合の処理。「妥当性検査」が「内容」または「内容と 値」に設定されている場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める はい いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、すべての値制約が妥当性検査に含まれるということです。
修正 はい いいえ なし このプロパティーは編集できません。 最小限の修正が行われます。 有効な値は、「なし」、および「フル」です。

JavaCompute ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
構文解析のタイミング はい いいえ 要求時 このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は、「要求時」「即時」、および「完全」です。

このプロパティーの詳細については、要求時の構文解析を参照してください。

MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 いいえ いいえ 「False」 このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。

JavaCompute ノードの XMLNSC パーサー・オプションのプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 はい 選択されていない 「いいえ」 変更の始まりこのプロパティーを設定すると、出力 MQRFH2 が XMLNSC パーサーではなく XMLNS パーサーを指定して、外部アプリケーションが変更されないようにします。出力メッセージに MQRFH2 ヘッダーが含まれていない場合は、このプロパティーは影響しません。変更の終わり
混合内容保存モード はい いいえ なし このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。
コメント保存モード はい いいえ なし このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。
処理命令保存モード はい いいえ なし このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。

JavaCompute ノードの説明プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac20805_