メイン コンテンツをスキップする 補完的コンテンツへスキップ

子ジョブを設定する

以下の例は、以前に定義したルーチンを使用して異なるジョブの間で値を共有する方法を示しています。

手順

  1. childJob1という名前のジョブを作成し、デザインワークスペースで名前を入力するか、[Palette] (パレット)からデザインワークスペースにドロップして、2つのコンポーネントを追加します。
    • 入力データフローを生成するためのtFixedFlowInput
    • データを受け取るためのtJavaRow。このコンポーネントでは、変数に新しい値を与えるためのセッターメソッドをジョブが呼び出します。
  2. tFixedFlowInputコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
  3. [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックし、[Schema] (スキーマ)ダイアログボックスを開いて入力データのスキーマを定義します。この例では、スキーマには文字列型のカラムnameが1つだけあります。
  4. [Mode] (モード)エリアで[Use Single Table] (単一テーブルの使用)オプションを選択し、[Values] (値)テーブルのmessageカラムで対応する値を定義します。この例では、値は"Talend"です。
    情報メモ注: tJavaコンポーネントがゲッターメソッドを呼び出し、戻り値を文字列変数に割り当て、変数値をコンソールに出力します。
  5. tJavaRowコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
  6. [Code] (コード)エリアに次のコードを入力して、セッターメソッドを追加します。
    MyRoutine.setValue(input_row.name);
  7. childJob2という名前のジョブを作成し、そのジョブ内にtJavaコンポーネントを作成します。
  8. tJavaコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
  9. [Code] (コード)エリアに次のコードを入力して、ゲッターメソッドを追加します。
    String name=MyRoutine.getValue();
    System.out.println(name);

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。