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

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

ファイルをレコードに分離する方法の制御

さまざまなフォーマットのファイルを読み取るために、ノードの「レコードおよびエレメント」タブの「レコードの検出」およびその他のプロパティーを設定します。

以下の例は、メッセージ・フローの入力としてローカル・ファイルを使用するおよびリモート FTP または SFTP ディレクトリーでのファイルの読み取りに記載されている例に基づいています。 これらのいずれでも、使用する入力ファイル、プロパティーの設定、および予想結果について説明しています。
以下の例では FileInput ノードの使用法を説明していますが、これらは FTEInput ノードにも適用できます。 ただし、以下の条件が付きます。
  • FTEInput ノードには「基本」タブがありません。
  • ファイルを FTEInput ノードに伝送する際に、FTP と SFTP は使用しません。
以下の例は FileRead ノードにも適用できます。 ただし、以下の条件が付きます。
  • FileRead ノードは、ファイルのレコードを 1 つだけ伝搬します。デフォルトでは、このレコードはファイルの最初のレコードです。 FileRead ノードは、特定のレコードを伝搬するように構成できます。 詳細については、ファイルの内容に基づくメッセージの経路指定および拡充を参照してください。
  • ファイルを FileRead ノードに伝送する際に、FTP と SFTP は使用しません。

例 1。レコードは DOS または UNIX の行終了で区切られます。

この例は、メッセージ・フローの入力としてローカル・ファイルを使用するまたはリモート FTP または SFTP ディレクトリーでのファイルの読み取りに説明されている例と同じです。 以下の内容を持った test_input1.xml という名前の入力ファイルを作成します。
<Message>test1</Message>
<Message>testtwo</Message>
<Message>testthree</Message>
各行は、行終了文字で終了します。
設定するプロパティーは次のとおりです。
タブ プロパティー
レコードとエレメント レコード検出 区切り
区切り文字 DOS または UNIX の行終了
区切り文字タイプ 後置
FileInput ノードは、DOS または UNIX の行終了で終了しているレコードを検出して、見つかったそれぞれのレコードごとにメッセージを作成します。
結果として次のような 3 つのメッセージが伝搬されます。
  • メッセージ 1:
    <Message>test1</Message>
  • メッセージ 2:
    <Message>testtwo</Message>
  • メッセージ 3:
    <Message>testthree</Message>
DOS または UNIX の行終了は、伝搬されるどのメッセージの一部にもなりません。

例 2。レコードはカスタム区切り文字で区切られます。

以下の内容を持った test_input2.xml という名前の入力ファイルを作成します。
<Message>test01</Message>,<Message>test001</Message>,<Message>test0001</Message>
このファイル・データの末尾には、行終了文字を付けないでください。行終了文字を付けても、XMLNSC パーサーによって無視されます。
メッセージ・フローの入力としてローカル・ファイルを使用するまたはリモート FTP または SFTP ディレクトリーでのファイルの読み取りで説明したプロパティー設定に加えて、以下のプロパティーを設定します。
タブ プロパティー
基本 ファイル名またはパターン test_input2.xml
レコードとエレメント レコード検出 区切り
区切り文字 カスタム区切り文字
カスタム区切り文字 2C
区切り文字タイプ 中置
16 進数 X'2C' は、ASCII のコンマを表します。 他のシステムでは、別の 16 進数コードを使用する必要があります。

FileInput ノードは、コンマ文字を検出すると、それを使用してレコードを区切ります。 「区切り文字タイプ」プロパティーの値は、「中置」であるため、ファイルの末尾にコンマを付ける必要はありません。

結果として次のような 3 つのメッセージが伝搬されます。
  • メッセージ 1:
    <Message>test01</Message>
  • メッセージ 2:
    <Message>test001</Message>
  • メッセージ 3:
    <Message>test0001</Message>
コンマ文字は、伝搬されるどのメッセージの一部にもなりません。 この例では、メッセージ本体にはコンマはありません。メッセージ本体内にコンマがある場合、それぞれの地点でレコードが分割されるので、結果として、誤ったフォームのメッセージがフローの残りに伝搬されることになります。

例 3。レコードは固定数のバイトで区切られます。

以下の内容を持った test_input3.xml という名前の入力ファイルを作成します。
<Message>123456789</Message><Message>abcdefghi</Message><Message>rstuvwxyz</Message>
このファイルの末尾には、行終了文字を付けないでください。
メッセージ・フローの入力としてローカル・ファイルを使用するまたはリモート FTP または SFTP ディレクトリーでのファイルの読み取りで説明したプロパティー設定に加えて、以下のプロパティーを設定します。
タブ プロパティー
基本 ファイル名またはパターン test_input3.xml
レコードとエレメント レコード検出 固定長
長さ 28
FileInput ノードは、入力ファイルを分割して、それぞれが 28 バイトの長さの複数のレコードにします。
結果として次のような 3 つのメッセージが伝搬されます。
  • メッセージ 1:
    <Message>123456789</Message>
  • メッセージ 2:
    <Message>abcdefghi</Message>
  • メッセージ 3:
    <Message>rstuvwxyz</Message>
各メッセージは、28 バイトの長さになります。 復帰と改行のペアなどの末尾バイトがこのファイルに付いている場合、そのようなバイトを格納したメッセージがさらに伝搬されます。末尾バイトは、メッセージの解析のために割り当てられているメッセージ・ドメイン、メッセージ・セット、およびメッセージ・タイプによって認識されることも、認識されないこともあります。

例 4。レコードはファイル全体。

以下の内容を持った test_input4.xml という名前の入力ファイルを作成します。
<Message>Text string of a length decided by you, even including line 
terminators, as long as it only contains this tag at the end.</Message>
このファイルの末尾には、行終了文字を付けないでください。付けても、何の効果もありません。
メッセージ・フローの入力としてローカル・ファイルを使用するまたはリモート FTP または SFTP ディレクトリーでのファイルの読み取りで説明したプロパティー設定に加えて、以下のプロパティーを設定します。
タブ プロパティー
基本 ファイル名またはパターン test_input4.xml
レコードとエレメント レコード検出 ファイル全体
FileInput ノードは、ファイルを分割しません。ファイルのすべての内容が単一のレコードとして伝搬され、このノードで指定されているとおりの、メッセージ・ドメイン、メッセージ・セット、およびメッセージ・タイプによって解析されます。 この例では、XMLNSC パーサーとメッセージ・セット xml1 を使用するので、メッセージは認識されます。
結果として次のような 1 つのメッセージが伝搬されます。
  • メッセージ 1:
    <Message>Text string of a length decided by you, even including line terminators, as long as
    it only contains this tag at the end.</Message>
末尾のバイト (例えば、行終了文字) が含まれています。

例 5. レコードは「メッセージ・ドメイン」プロパティーに指定されているパーサーによって別々のメッセージであると認識されます。

以下の内容を持った test_input5.xml という名前の入力ファイルを作成します。
<Message>Text string of a length decided by you  </Message><Message>and another</Message>
<Message>and another on a new line</Message>
このファイルの末尾または行の末尾に、行終了文字を付けても構いません。
メッセージ・フローの入力としてローカル・ファイルを使用するまたはリモート FTP または SFTP ディレクトリーでのファイルの読み取りで説明したプロパティー設定に加えて、以下のプロパティーを設定します。
表 1.
タブ プロパティー
基本 ファイル名またはパターン test_input5.xml
レコードとエレメント レコード検出 解析済みレコード・シーケンス
FileInput ノードは、レコードの境界の判別をパーサーに委ねます。 この例では、ドメイン XMLNSC 内のメッセージ・セット xml1 は、完全な <Message> XML フォーマットを認識する必要があります。 XMLNSC は、末尾の空白文字 (例えば、行終了文字) を取り込みます。
結果として次のような 3 つのメッセージが伝搬されます。
  • メッセージ 1:
    <Message>Text string of a length decided by you  </Message>
  • メッセージ 2:
    <Message>and another</Message>
  • メッセージ 3:
    <Message>and another on a new line</Message>
末尾の空白文字 (例えば、行終了文字) は、メッセージに含まれます。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

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

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


参照トピック参照トピック | バージョン 8.0.0.5 | ac55425_