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

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

ブローカーがファイルを処理する方法

ブローカーは FileInputFTEInputCDInput、および FileRead ノードを使用してファイルを読み取り、FileOutputCDOutputおよび FTEOutput ノードを使用してファイルを書き込みます。

WebSphere® Message Broker は、ローカル・ファイル・システム内のファイルとの間や、ブローカーに対してローカルなネットワーク・ファイル・システム上のファイルとの間で、メッセージの読み取りと書き込みを行うことができます。 次に、この機能が提供されるノード、および操作対象のディレクトリーとファイルに対して必要なアクセス権限をリストします。

FileInputFileOutput、および FileRead ノードは、ブローカーのユーザー ID およびグループに割り当てられた権限を継承します。権限の設定方法およびファイル・アクセスへの影響の詳細については、ご使用のオペレーティング・システムの資料を参照してください。

FTEInput および FTEOutput ノードを使用して、WebSphere MQ File Transfer Edition ネットワーク上の宛先との間でファイルを受信または送信できます。

CDInput および CDOutput ノードを使用して、IBM® Sterling Connect:Direct® ネットワーク上の宛先との間でファイルを受信または送信できます。

ファイルまたはファイル内のレコードは、キュー内のメッセージに似ています。 ファイルを格納するディレクトリーは、メッセージ・キューに似ています。

フローの開始時にブローカーがファイルを読み取る方法

FileInput ノードでは、ファイルから読み取ったメッセージが処理されます。 FileInput ノードは、(ブローカーに接続されたファイル・システム内の) 指定した入力ディレクトリーで、指定の基準に一致するファイルを検索します。 ノードはまた、入力ディレクトリーのサブディレクトリーを再帰的に検索することもできます。 基準に合うファイルは、存続期間の順番に処理されます。すなわち、最も古いファイルが、ディレクトリー構造内のどこにあるかに関わらず、最初に処理されます。 オプションとして、ローカル・ディレクトリーをスキャンする場合は常に、リモート FTP サーバーまたはリモート SFTP サーバーからそのディレクトリーにファイルを移動することができます。 必要なファイルを検索するには、明示的にファイル名を指定するか、ワイルドカード文字を含むファイル名パターンを指定します。 ファイルがロックされている場合、ディレクトリー・スキャンの間、そのファイルは無視されます。 ファイル除外パターンを指定することにより、ファイルが読み取られないようにすることもできます。 ファイルが処理されるか無視されるかは第 1 にファイル名またはパターンにより決定され、第 2 にファイル除外パターンにより決定されます。

FileInput ノードは、入力ディレクトリーに mqsitransitin サブディレクトリーを作成します。 mqsitransitin サブディレクトリーは、入力ファイルの処理中にそれを保留にしてロックします。 ブローカーはファイルを読み取り、ファイルの内容を使って 1 つ以上のメッセージを伝搬します。

この入力ディレクトリー内でファイルを処理する実行グループが除去された場合、mqsitransitin サブディレクトリーを調べて、一部だけ処理されたファイルや未処理のファイルがないかを確認してください。 そのようなファイルがあれば、それを入力ディレクトリーに戻し、実行グループ UUID 接頭部をファイル名から削除することにより、異なる実行グループによる処理を可能にします。 mqsitransitin サブディレクトリーの詳細については、複数のファイル・ノードが同じディレクトリー内のファイルへのアクセスを共有する方法を参照してください。

FileInput ノードでは、ファイルからレコードを派生する方法を指定できます。 ファイルの内容は、次のように解釈できます。
  • 1 つのレコード (ファイル全体)
  • それぞれが固定長の別々のレコード (固定長レコード)
  • それぞれが指定の区切り文字で区切られている別々のレコード (区切り文字で区切られているレコード)
  • 指定したパーサーによって認識される別々のレコード (パーサー・レコード・シーケンス)

ファイルが正常に処理されると、ファイル・システムから削除されるか、指定した (ローカル) ディレクトリーのアーカイブ・サブディレクトリーに移動されます。

ファイルの最後のレコードの処理が正常に完了したときに、FileInput ノードの End of Data ターミナルがメッセージ・フローに接続されている場合は、End of Data メッセージが End of Data ターミナルに伝搬されます。 End of Data メッセージは、空の BLOB メッセージと LocalEnvironment.File 構造で構成され、明示的なフローの終わりの処理をメッセージ・フロー中の別の部分で実行できるようにします。

ファイルから伝搬された 1 つ以上のメッセージを、任意のメッセージ・フローおよび出力ノードへの入力として使用することができます。 ファイルからメッセージを受け取ってから、サポートされている任意のトランスポートを使用してブローカーに接続するクライアントのために、メッセージを生成するメッセージ・フローを作成することができます。

メッセージがファイルから伝搬されるたびに、FileInput ノードは、そのファイルに関する情報を LocalEnvironment.File メッセージ・ツリー内のファイルに保管します。 そのような情報には、処理されるファイル内のメッセージのレコードのオフセットや、そのファイル内のレコード番号などが含まれます。 それに加えて、ファイル名パターン中でワイルドカードが使用されている場合、ファイル名内の一致した文字は、ローカル環境ツリーの WildcardMatch エレメントに入れられます。

ファイルがバックアウトされる場合、または処理が失敗したためファイルが mqsitransitin サブディレクトリーに残されている場合は、ファイル名から実行グループ UUID 接頭部を削除してから入力ディレクトリーに戻します。 処理は自動的に再試行され、ファイルの最初のレコードから開始されます。

FTEInput ノードは、WebSphere MQ File Transfer Edition ネットワークからファイルを受け取ります。 ブローカーはファイルを読み取り、ファイルの内容を使って 1 つ以上のメッセージを伝搬します。 FTEInput ノードがファイルを処理すると、そのファイルは削除されます。 FTEInput ノードがローカル環境で提供する情報の詳細については、ファイル・ノードでのローカル環境変数の使用を参照してください。

CDInput ノードは、IBM Sterling Connect:Direct ネットワークからファイルを受け取ります。 ブローカーはファイルを読み取り、ファイルの内容を使って 1 つ以上のメッセージを伝搬します。 CDInput ノードがファイルを処理すると、そのファイルは削除されます。 CDInput ノードがローカル環境で提供する情報の詳細については、ファイル・ノードでのローカル環境変数の使用を参照してください。

FileRead ノードは、ファイル全体を、または、1 つの指名されたレコードを読み取ることができます。 FileRead ノードの一般的な用途とは、ファイルの内容に基づいてメッセージを経路指定する、または拡充することです。 メッセージ・フローを作成する際に、読み取るファイルの名前と場所を指定できます。 これらの値は、メッセージの内容に基づいて実行時にオーバーライドできます。 FileRead ノードは、メッセージ・フローの途中からファイルを読み取ります。

FileRead ノードは、既存の FileInput ノードと FileOutput ノードを補完する役割を果たします。

フローの中からブローカーがファイルを読み取る方法

FileRead ノードは読み取り中のファイルをロックしますが、ファイルを読み取る目的でサブディレクトリーへ移動することはありません。FileInput ノードと同様、ファイルを完全に読み取るか、レコードに分離することができます。 FileRead ノードが処理したファイルは、削除またはアーカイブするか、あるいはそのままにしておくことができます。

ブローカーがファイルを書き込む方法

FileOutput ノードCDOutput ノード、 および FTEOutput ノードは、ブローカーのファイル・システム内のファイルにメッセージを書き込みます。 ノードの In ターミナルでメッセージが受信されると、そのノードは、1 つ以上の一連のレコードの形式でファイルを作成して書き込みます。 受信した各メッセージごとに、レコードが 1 つずつファイルに書き込まれます。 そのファイルの名前は、ノード内のファイル名パターンで指定するか、または、ノードに指定したかメッセージから派生した明示的なファイル名で指定します。

以下のようにレコードをファイルに累積する方法を指定することができます。
  • 1 つのレコード (ファイル全体)。 作成するファイルは、1 つのレコードで構成されます。
  • 連結レコード (未変更レコード)。 レコードは、規定の長さになるように埋め込みを行われることも、区切り文字で区切られることもありません。
  • 統一長レコード (固定長レコード)。 指定の長さより短いレコードは、規定の長さに合わせて埋め込みが行われます。
  • 別々のレコード (区切り文字で区切られているレコード)。 レコードは、指定の区切り文字で終了されるか、または区切られます。
メッセージ・フローは、Finish File ターミナルにメッセージを送信して、書き込むレコードはもうないことを出力ノードに知らせます。 このファイルはその後、以下のような該当する宛先に配布されます。
  • FileOutput ノード: ファイルは、指定した出力ディレクトリーに移動されます。

    オプションとして、リモート FTP サーバーまたはリモート SFTP サーバー上のディレクトリーに、このファイルを移動することもできます。 このサーバーは、ノードの「リモート・サーバーおよびポート」プロパティーで識別されます。 このノードのプロパティーは、ローカル環境で値を設定することによりオーバーライドすることもできます (FileOutput ノード上のリモート・サーバーに関するローカル環境のオーバーライドを参照してください)。

  • FTEOutput ノード: ファイルは、WebSphere MQ File Transfer Edition ネットワーク上の宛先エージェントに送られます。
  • CDOutput ノード: ファイルは、IBM Sterling Connect:Direct ネットワークに送られます。

出力ノードがファイルから 1 つのレコード (「ファイル全体」) を作成すると、Finish File ターミナルにメッセージが伝搬されなくても、そのファイルはすぐに出力ディレクトリーに移動されます。 そのような場合、ノードの Finish File ターミナルに送信されたメッセージは、どのファイルに対しても効力を持ちませんが、そのメッセージは、End of Data ターミナルに接続されたメッセージ・フローにやはり伝搬されます。

ローカル・ファイルの末尾へのデータの追加方法

FileOutput ノードを使用してローカル・ファイルに追加する方法には、次の 2 つがあります。
  • 最初の方法は、出力ディレクトリーに直接書き込む方法です。 書き込まれる各レコードは、指定されたファイルに即時に追加されます。 ファイルにデータが書き込まれている間に、ファイルの内容を読み取ることができます。 Finish File アクションは、FTP オプションを使用しない限り有効ではありません。 FTP オプションを使用する場合、Finish File アクションはファイルをリモート・マシンに転送します。
  • 2 番目の方法は、ファイルを mqsitransit ディレクトリーに段階的に書き込みます。 レコードはファイル内に収集されます。 Finish File アクションが発生したときに、出力ディレクトリー内にファイルが存在すると、そのファイルは一時ディレクトリーに移動され、データがこのファイルの最後に追加されます。 その後ファイルは出力ディレクトリーに戻され、新規データがアプリケーションから可視になります。

FTP タブ上で「ローカル・ファイルの保存」「一時ディレクトリーに段階的に書き込みます」が両方とも選択されていると、Finish File アクションで「ファイルが存在する場合のアクション」が発生します。

リモート・ファイルの末尾へのデータの追加方法

FileOutput ノードは、出力ディレクトリーまたは mqsitransit ディレクトリーにファイルを作成します。 FTP タブで「リモート・ファイルが存在する場合のアクション」「追加」に設定されている場合、Finish File アクションが発生すると、FTP Append 動詞を使用してファイルがリモート・マシンに転送されます。 データはリモート・ファイルの末尾に追加されるか、またはファイルが存在しない場合はファイルが作成されます。

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

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

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:59


概念トピック概念トピック | バージョン 8.0.0.5 | ac55280_