ファイル分割

Inbound イベント処理モードでは、オプション・ファイル分割機能をサポートしており、イベント・ファイルが数個のチャンクに分割され、それぞれのチャンクはエンドポイントに対して別々に通知されます。これにより、イベント処理時のメモリー・ロードを削減します。

ファイル分割は、区切り文字、または SplitCriteria プロパティーに指定されているファイル・サイズに基づいて実行されます。区切り文字値は SplitCriteria プロパティーで設定され、イベント・ファイルを分割するために使用されるクラスはアクティベーション・スペックの SplittingFunctionClassName プロパティーで設定されます。 デフォルトで、アダプターは SplittingFunctionClassName プロパティーに SplitBySize および SplitByDelimiter クラスを提供します。

チャンク機能が使用可能になっている場合、ファイルの各チャンクはエンドポイントに別々に送られます。PollQuantity プロパティーに指定されている数のビジネス・オブジェクトがエンドポイントに送られます。例えば、PollQuantity の値が 3 の場合、以下のようになります。

ポーリングされるビジネス・オブジェクトの数は 3。

エンドポイントが受け取るビジネス・オブジェクトの数は 3。

アダプターは、チャンク・データを再アセンブルすることはありません。 アダプターは、チャンクを組み合わせる外部アプリケーションに、チャンク・データについての情報を提供します。チャンク情報は chunkInfo プロパティー (ラッパー・ビジネス・オブジェクトに含まれている ) に設定されています。この情報には、バイト単位のチャンク・サイズやイベント ID などが含まれます。イベント ID の例は、次のとおりです。
AbsolutePathOfTheEventFileNameInLocalEventDirectory_/_yyyy_MM_dd_HH_mm_ss_SSS.
currentBONumber_/_totalBOs

区切り文字による分割

区切り文字は、イベント・ファイルを分割するために使用されます。区切り文字は、アクティベーション・スペックの SplitCriteria プロパティーで指定されます。

区切り文字の使用には、以下の規則が適用されます。
  • 区切り文字で使用するすべての改行は ¥n で表現します。 アダプターは ¥n をプラットフォーム固有の改行文字に変換します。
  • 複数の区切り文字がある場合、各区切り文字をセミコロン (;) で区切る必要があります。セミコロン (;) が区切り文字の一部である場合、セミコロン (;)¥; のようにエスケープする必要があります。例えば、区切り文字が ##¥;## の場合、これは ##;## として処理されます。つまり、セミコロン (;) は、区切り文字の一部であるという意味です。
  • 区切り文字の一部である内容をスキップするには、区切り文字の間にある内容をスキップするよう、区切り文字の先頭に連続したセミコロン (;;) を指定します。例えば、イベント・ファイルに以下の形式のビジネス・オブジェクトが含まれていて、区切り文字が ##;;$$ の場合、次のようになります。

    Name=Smith
    Company=IBM
    ##this is the content that will be skipped by the adapter$$

    アダプターは ##$$ を区切り文字と見なし、「this is the content that will be skipped by the adapter」をスキップします。

  • 区切り文字にはどのような値でも使用でき、制限はありません。有効な区切り文字には、以下のものが含まれます。
    • ####;¥n;¥n
    • ####;$$$$;¥n;####
    • %%%%;$$$$$;#####
    • ¥n;¥n;$$$$
    • ####¥;####;¥n;$$$$$
    • ¥n;¥n;¥n
    • ####;;$$$$
  • 区切り文字がファイルの末尾にある場合、SplitCriteria プロパティーは END_OF_FILEを使用して、ファイルの物理的な末尾を見つけます。

イベントのリカバリー

WebSphere® Process Server のリカバリー機能を使用するには、ActivationSpec の AssuredOnceDelivery プロパティーを true に設定する必要があります。false に設定されている場合、失敗したイベントをリカバリーすることはできません。AssuredOnceDelivery が false に設定されている場合、イベントが重複して送信される可能性があります。パフォーマンスを改善するためには (イベント・リカバリーなし、イベントの重複あり)、AssuredOnceDelivery を false に設定します。


ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。