IAS Serverは、取得内のすべての拡張機能がデータ収集およびレコード処理を終了した後に、endAcquisition()をコールします。endAcquisition()を実装すると、PipelineComponentRuntime.endAcquisition()をオーバーライドして拡張機能に必要なクリーンアップを実行できます。
endAcquisition()の実装では、IASが拡張機能に渡す可能性のあるAcquisitionEndStateの値のそれぞれについて認識している必要があります。
一般的にこれは、IASがendAcquisition()にSUCCESSの値を渡した場合、拡張機能は通常、取得の間に行われた状態の変更を維持することを意味しています。たとえば、これには取得間の増分差を求めるために、データソース拡張機能が成功した取得のタイムスタンプ情報を書き出し、後に次の取得のためにこのタイムスタンプを読み込むことが含まれます。
IASがendAcquisition()にFAILUREの値を渡した場合、拡張機能は通常、取得の間に行われた状態の変更を元に戻します。たとえば、これには失敗した取得のタイムスタンプ情報を元に戻すことなどがあります。
IASがendAcquisition()にFULL_ACQUISITION_RECOVERY_REQUIREDの値を渡した場合、拡張機能は状態情報を保持するか、元に戻すかのどちらかを行います。新しい取得の準備に必要な処理を行い、さらにFullAcquisitionRecoveryRequiredException例外をスローします。