WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

メッセージ・フローの入力としてローカル・ファイルを使用する

FileInput ノードを使用して、ローカル・ファイル・システム上のファイルを読み取ってから、そのファイルの内容をベースとするメッセージを伝搬する方法について説明します。

この例では、「レコード検出」「区切り文字」、および「区切り文字タイプ」プロパティー内の値の 1 種類の組み合わせを使用して、ファイルからメッセージを抽出する方法を示します。 この例は、メッセージ・フローの FileInput ノードについて説明しています。また、フローの残りはすでに開発済みであると想定されています。 さらに、Windows システムを使用することも想定されています。 このタスク例を完了するには、まず FileInput ノードをメッセージ・フローに追加する必要があります。 他に以下のリソースが必要です。
  • 入力ファイル。 この例のシナリオをたどるために、次のような内容を持った test_input1.xml という名前の入力ファイルを作成します。
    <Message>test1</Message>
    <Message>testtwo</Message>
    <Message>testthree</Message>
    どの行も、行終了文字で終了します。Windows システムでは、それは復帰と改行文字 (X'0D0A') で構成されます。 このファイルをディレクトリー C:¥FileInput¥TestDir に入れます。
  • メッセージ・セット。 この例は、XMLNSC パーサーを使用する xml1 という名のメッセージ・セットを使用します。 メッセージ・セット xml1 は、以下のフォームのメッセージをモデル化します。
    <Message>...</Message>

以下のステップを実行します。

  1. 必要なノード・プロパティーを FileInput ノード上で設定します。 以下の表は、設定する必要のある FileInputノード・プロパティー、どのタブに表示されるか、およびこの例をたどるために設定する必要のある値を要約しています。
    タブ プロパティー
    基本 入力ディレクトリー C:¥FileInput¥TestDir
    ファイル名またはパターン test_input1.xml
    正常処理時のアクション アーカイブ・サブディレクトリーに移動する
    重複するアーカイブ・ファイルを置き換える 選択されている
    入力メッセージの解析 メッセージ・ドメイン XMLNSC
    メッセージ・セット xml1
    ポーリング ポーリング間隔 3
    再試行 ファイル失敗時のアクション タイム・スタンプを追加し、バックアウト・サブディレクトリーに移動する
    レコードとエレメント レコード検出 区切り
    区切り文字 DOS または UNIX の行終了
    区切り文字タイプ 後置
    FTP FTP 選択されない
  2. メッセージ・フローをブローカーにデプロイします。 パッケージ化およびデプロイを参照してください。
これらのステップを実行すると、以下のアクションが起きます。
  1. ファイルが処理されます。 FileInput ノードは、「レコードとエレメント」タブのプロパティーで設定されている値に基づいて、DOS または UNIX の行末文字で区切られているレコードを検出し、それぞれのレコードごとにメッセージを作成します。 このノードは、Out ターミナルに接続されているフローに以下の 3 つのメッセージを伝搬します。
    • メッセージ 1:
      <Message>test1</Message>
    • メッセージ 2:
      <Message>testtwo</Message>
    • メッセージ 3:
      <Message>testthree</Message>
  2. End of Data ターミナルにフローが接続されている場合、このファイル中の最後のレコードが処理された後、End of Data メッセージが伝搬されます。
  3. 処理が完了すると、ファイル test_input1.xmlmqsiarchive サブディレクトリー C:¥FileInput¥TestDir¥mqsiarchive¥test_input1.xml に移動されます。 test_input1.xml という名前のファイルが mqsiarchive サブディレクトリー内にすでに存在する場合、そのファイルは上書きされます。
  4. メッセージ・フローに障害が起きた場合、FileInput ノードのプロパティーに設定されている値に従って、再試行処理が試みられます。 このタスク例では、タイム・スタンプがファイル名に追加され、ファイルは mqsibackout ディレクトリーに移動されます。 その場合のファイルのパスは、C:¥FileInput¥TestDir¥mqsibackout¥20070928_150234_171021_test_input1.xml となります。

FileInput ノードの「レコード検出」「区切り文字」、および「区切り文字タイプ」プロパティーに、他の値の組み合わせを指定した場合の結果の詳細は、ファイルをレコードに分離する方法の制御を参照してください。

サブディレクトリー内のファイルも処理されるようにこの例を拡張するには、「入力ディレクトリー」のサブディレクトリーに入力ファイルを置き、プロパティー「ローカル・サブディレクトリーを含める」を選択します。

以下のサンプルも、このノードの使用方法を示します。

サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:00


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac55421_