tDieコンポーネントによってトリガーされたメッセージをキャッチしてコンソールに表示するジョブで使うコンポーネントを設定するために使われます。
手順
-
tRowGeneratorコンポーネントをダブルクリックして、行ジェネレーターエディターを開きます。
- 整数型の1つのカラムIDを追加してスキーマを定義し、[Functions] (ファンクション)カラムで事前定義されたファンクションNumeric.sequence(String,int,int)を選択します。
- [Number of Rows for RowGenerator] (RowGeneratorの行数)フィールドに、生成する行の数(この例では0)を入力します。完了したら、[OK]をクリックしてダイアログボックスを閉じます。
- tFileOutputDelimitedコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開き、生成するデータを保持するファイルのパスを[File Name] (ファイル名)フィールドに指定します。
- If接続をクリックし、[Basic settings] (基本設定)ビューの[Condition] (条件)フィールドに、tDieコンポーネントがトリガーされる基準となる条件を指定します。この例では((Integer)globalMap.get("tRowGenerator_1_NB_LINE")) <=0です。これは、生成される行の数がゼロ以下の場合にtDieコンポーネントがトリガーされることを意味します。
-
tDieコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開き、[Die message] (強制終了メッセージ] フィールドに、ジョブが中止される前にトリガーされるメッセージを入力します。この例では、no row generatedです。
-
tJavaコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開き、[Code] (コード)フィールドに次のように入力します:
System.out.println("The number of rows generated is " + ((Integer)globalMap.get("tRowGenerator_1_NB_LINE")) + ". #This message will not be displayed if no row is generated.");
このメッセージは、生成された行数がゼロより大きい場合にのみ表示されます。この例では、生成される行数は0なので、ジョブは強制終了され、このメッセージは表示されません。 -
tLogCatcherコンポーネントをダブルクリックして[Basic settings] (基本設定) ビューを開き、[Catch tDie] (tDieのキャッチ]チェックボックスをオンにして、tDieコンポーネントによってトリガーされるメッセージをキャッチします。
- tLogRowコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開き、[Mode] (モード)エリアで[Table (print values in cells of a table)] (テーブル(テーブルのセルに値を表示))を選択します。これで結果の表示が改善します。