廃棄ポリシー
廃棄ポリシーは、指定されたクラスのオブジェクトが Content Engine のバックグラウンド・タスクによって自動的に削除される条件を定義します。バックグラウンド・タスクは、指定されたクラスのオブジェクトを保管するデータベース・テーブルのスイープを繰り返して、ポリシー条件を満たすオブジェクトを削除します。 廃棄ポリシーは、完了した反復処理と検査済みオブジェクト、処理済みオブジェクト、および失敗したオブジェクトを含むスイープの結果をカウントし続けます。保存用に構成されたサーバーのインストール済み環境では、廃棄ポリシーは、保存日が過去のオブジェクトを識別して、それらをデータベースから削除することができます。
廃棄ポリシーは、CmDisposalPolicy オブジェクトによって表されます。CmDisposalPolicy オブジェクトをファクトリー・メソッドで作成して、廃棄条件を FilterExpression プロパティーで設定し、廃棄されるクラス・インスタンスを SweepTarget プロパティーで設定します。また、廃棄ポリシーが有効になる開始時刻と終了時刻も設定できます。
CmDisposalPolicy オブジェクトを作成すると、サーバーは、必要に応じて、ポリシー・ベースの処理に必要な以下のオブジェクトを自動的に作成します。
- CmPolicyControlledSweep は、廃棄ポリシーなどのスイープ・ポリシーによって制御されるバックグラウンド・サービスを表します。
タイム・スロットを指定して CmPolicyControlledSweep オブジェクトを構成し、いつスイープが実行されるかをさらに制御できます。
同じデータベース・テーブルをターゲットとする複数のスイープ・ポリシーでは同じ CmPolicyControlledSweep オブジェクトが使用されます。CmPolicyControlledSweep オブジェクトは、データベース・テーブルのスイープ時に複数のポリシーを評価して適用します。
ポリシー制御スイープの SweepSubscribers プロパティーを使用して、ポリシー制御スイープにサブスクライブするスイープ・ポリシーを取得してから、ポリシーを反復処理し、廃棄ポリシーを識別することができます。
- CmSweepPolicyRelationship は、ポリシー制御スイープとスイープ・ポリシーの間の関連付けを定義します。スイープ・ポリシーの SweepSubscriptions プロパティーを使用して、CmSweepPolicyRelationship オブジェクトを取得できます。CmSweepPolicyRelationship オブジェクトを使用すると、廃棄ポリシーに関連付けられているポリシー制御スイープを取得できます。
CmPolicyControlledSweep オブジェクトも CmSweepPolicyRelationship オブジェクトも手動で削除することはできません。CmDisposalPolicy オブジェクトを削除すると、依存する CmSweepPolicyRelationship オブジェクトはシステムによって自動的に削除されます。削除される CmDisposalPolicy オブジェクトがポリシー制御スイープにサブスクライブされている最後のスイープ・ポリシーである場合は、CmPolicyControlledSweep も削除されます。
CmDisposalPolicy オブジェクトには、失敗結果レコードを生成できるようにして、それらを取得するためのプロパティーも含まれています。それぞれの失敗結果レコードは、失敗が発生したスイープ済みオブジェクトを識別して、失敗の理由を記述します。詳細については、CmSweepResult を参照してください。
コードの例については、「廃棄ポリシーの操作」を参照してください。