FileOutput ノードを使用して、ローカル・ファイル・システム上の指定のディレクトリーにファイルを書き込みます。
この例は、
「レコード定義」、
「区切り文字」、および
「区切り文字タイプ」の各プロパティー内の値の 1 種類の組み合わせの結果として、複数のメッセージからどのようにファイルが作成されるかを示します。 この例は、メッセージ・フローの
FileOutput ノードについて説明しています。また、フローの残りは開発済みであると想定されています。
さらに、
Windows システムを使用することも想定されています。 このタスク例を完了するには、まず
FileOutput ノードをメッセージ・フローに追加する必要があります。 また、
FileOutput ノードの前のフローによって、以下のメッセージが作成されることを確認する必要もあります。
以下のステップを実行します。
- 必要なノード・プロパティーを FileOutput ノード上で設定します。 以下の表は、設定する必要のある FileOutput ノード・プロパティー、どのタブに表示されるか、およびこの例をたどるために設定する必要のある値を要約しています。
タブ |
プロパティー |
値 |
基本 |
ディレクトリー |
C:¥FileOutput¥TestDir |
ファイル名またはパターン |
test_output1.xml |
ファイルに書き込むためのモード |
一時ディレクトリーに段階的に書き込み、Finish File で出力ディレクトリーに移動します |
ファイルが存在する場合のアクション |
既存ファイルのタイム・スタンプ、保存、および置換 |
重複するアーカイブ・ファイルを置き換える |
選択されている |
レコードとエレメント |
レコード定義 |
レコードは区切り文字で区切られたデータ |
区切り文字 |
ブローカー・システムの行終了 |
区切り文字タイプ |
後置 |
FTP |
FTP |
選択されていない |
- メッセージ・フローをブローカーにデプロイします。 パッケージ化およびデプロイを参照してください。
- FileOutput ノードの In ターミナルに最初の 3 つのメッセージを送信します。
- FileOutput ノードの Finish File ターミナルに最終メッセージを送信します。
これらのステップを実行すると、以下のアクションが起きます。
- ファイルが処理されます。 このノードは、FileOutput ノードのプロパティーに設定されている値に従って、それぞれの末尾にローカル・ファイル・システムの行終了文字を付けたレコードを各メッセージごとに 1 つずつ生成します。 このファイルには、各行が復帰 (X'0D') および改行 (X'0A') 文字のペアで終了する次のようなデータが入っています (Windows システムの場合)。
<Message>test1</Message>
<Message>testtwo</Message>
<Message>testthree</Message>
- レコードは、C:¥FileOutput¥TestDir¥mqsitransit ディレクトリー内のファイル test_output1.xml に蓄積されます。
最終メッセージが Finish File ターミナルに送信されると、このファイルは、出力ディレクトリーである C:¥FileOutput¥TestDir ディレクトリーに移動されます。
- 同名のファイルが出力ディレクトリー内に存在する場合、既存のファイルの名前が変更されて、mqsiarchive ディレクトリーに移動されます。
例えば、以下のようなファイルが作成される場合があります。
C:¥FileOutput¥TestDir¥mqsiarchive¥20081124_155346_312030_test_output1.xml
その名前のファイルがこのアーカイブ・ディレクトリー内に存在する場合、そのファイルは、FileOutput ノード上で選択されている「重複するアーカイブ・ファイルを置き換える」プロパティーに従って上書きされます。
FileOutput ノードの
「レコード定義」、
「区切り文字」、および
「区切り文字タイプ」の各プロパティーに設定されたさまざまな値を使ってこのタスクを実行した結果について、
FileOutput および FTEOutput ノードの「レコードの定義」プロパティーの設定を参照してください。
以下のサンプルも、このノードの使用方法を示します。
サンプルに関する情報は、WebSphere Message
Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message
Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
FileOutput ノードの追加モードを使用してファイルに追加できます。
- 直接追加:
例として、アプリケーションがファイルの内容を継続的に使用して、変更が加えられるにつれて表示されるようにする場合があります。 レコードが表示されるとすぐに、アプリケーションがレコードをデータベースまたは製品カタログにロードするという方法が考えられます。
- 追加の前に段階的に書き込み:
例として、アプリケーションがファイルの内容を日中に使用するものの、日中に発生した更新を表示したくない場合があります。 WebSphere Message
Broker は、一時ディレクトリー内に新しいレコードをバッチで追加し、その日の任意の時刻 (おそらく通常の業務時間外) にファイルに追加します。
リモート・ファイルが存在する場合、FileOutput ノードの追加モードを使用して、既存のファイルに追加するか、または既存のファイルを置き換えます。 データはリモート・ファイルの末尾に追加されるか、またはファイルが存在しない場合はファイルが作成されます。