アダプターがエンタープライズ情報ファイル・システムで大容量のファイルを日常的に検索する場合は、アダプターのファイル分割機能を使用して、大きなファイルをいくつかの小さなチャンクに分割することができます。ファイル分割を使用可能にすると、イベント・ファイルが数個のチャンクに分割され、別々にエンドポイントに送られます。アダプターは、エンドポイントでチャンクの再アセンブルを行いませんが、再アセンブルに必要なビジネス・グラフのチャンク情報を提供します。
ビジネス・オブジェクトを区切るために、コンマ (,)、セミコロン (;)、引用符 ("、')、中括弧 ({})、またはスラッシュ (/、\) などの文字を 1 つ以上使用する場合、アダプターはこの情報を使用してファイルを小さなチャンクに分割することができます。これらのチャンクは、サーバーに別々に転送されてから、WebSphere Process Server のイベント順序付け機能によって再アセンブルされます。これは、区切り文字によるファイル分割と呼ばれ、SplitCriteria アクティベーション・スペック・プロパティーを使用して有効にすることができます。
イベント・ファイルがそのようなチャンクに分割される場合は、それぞれのチャンクがビジネス・オブジェクトを作成することを忘れないでください。これは、ポーリング数量プロパティーで指定された値と、エンドポイントで取得されるビジネス・オブジェクトの数に違いが生じる可能性があるということです。区切り文字に基づいたファイル分割が有効な場合は、PollQuantity プロパティーにより、イベント・ストア内に存在する当該イベント・ファイルの数が指定され、分割機能クラス名アクティベーション・スペック・プロパティーでイベント・ファイルの分割に使用されるクラスが設定されます。
区切り文字によるファイル分割で使用される PollQuantity 値の働きを示すため、2 つのイベント・ファイルについて考察します。第 1 のイベント・ファイルにはビジネス・オブジェクトが 1 つ、第 2 のイベント・ファイルにはビジネス・オブジェクトが 2 つあります。PollQuantity の値が 2 の場合、最初のビジネス・オブジェクトは第 1 のイベント・ファイルから、次のビジネス・レコードは第 2 のイベント・ファイルから、最初のポーリング周期で送信されます。第 2 のファイルの 2 番目のビジネス・オブジェクトは、次のポーリング周期で送信されます。
Name=Smith
Company=IBM
##ここの内容はアダプターによってスキップされます$$
アダプターは区切り文字を ##$$ であると解釈し、「ここの内容はアダプターによってスキップされます」をスキップします。
サイズによるファイル分割は、SplitCriteria プロパティーで指定された値を基にして実行されます。 イベント・ファイルのサイズが SplitCriteria プロパティーで指定された値よりも大きい場合、ファイルはチャンクに分割され、それぞれのチャンクはエンドポイントに対して別々に送られます。 イベント・ファイルのサイズが SplitCriteria の値よりも小さい場合、イベント・ファイル全体がエンドポイントに送られます。イベント・ファイルがチャンクに分割されるとき、それぞれのチャンクがビジネス・オブジェクトを作成することを忘れてはなりません。これは、ポーリング数量プロパティーで指定された値と、エンドポイントで取得されるビジネス・オブジェクトの数に違いが生じる可能性があるということです。アダプターはポーリング数量の値に基づいてポーリングを行いますが、アダプターは実際には、ファイル内のビジネス・オブジェクトの数を、1 つずつ処理します。 例えば、イベント・ファイルが 3 つのパーツのチャンクに分割される場合は、1 つのファイルがポーリングされ、エンドポイントでは 3 つのビジネス・オブジェクト (各チャンクが 1 つのビジネス・オブジェクトを作成するため) を受け取ります。
エンドポイントで、アダプターはチャンクに分割されたデータを 1 つのファイルに再アセンブルしません。その代わりに、この機能は WebSphere Process Server のイベント順序付け機能で処理されます。ただし Flat Files アダプターは、WebSphere Process Server によるチャンクの単一ファイルへの再アセンブルを可能にする、チャンクに関する情報を提供します。チャンク情報は、FlatFile ラッパー・ビジネス・オブジェクトの chunkFileName プロパティーに組み込まれます。チャンク情報には、バイト単位でのチャンク・サイズやイベント ID などがあります。チャンクのイベント ID は、eventFileLocation_/_timestampStr_/_MofN の形式を使用します (M は現在のチャンク番号で、N は総チャンク数です)。イベント ID の例は、C:¥flatfile¥eventdir¥eventfile.in_/_2005_01_10_10_17_49_864_/_3of5 のようになります (timestampStr は year_month_day_hour_minutes_seconds_milliseconds の形式になります)。
(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2007
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。