状態管理は、オブジェクトのアクティブ化および非アクティブ化時にオブジェクトの状態の保存および復元を制御する手段です。状態管理は、サーバーのパフォーマンスおよびリソース使用量に影響を与える、アクティブ化されたオブジェクトの有効期間にも影響します。TPフレームワークの外部APIには、activate_object()およびdeactivate_object()メソッドが含まれています。これらのメソッドは、状態管理コードを配置可能な場所を示します。また、TPフレームワークAPIには、ユーザーがオブジェクトをアクティブ化するタイミングを制御できるようにするためのdeactivateEnable()メソッドが含まれています。アクティブ化されたオブジェクトのデフォルトの有効期間は、OMG IDLのコンパイル時に実装に割り当てたポリシーによって制御されます。任意の4つのプラグマを使用すると、明示的なactivation_policy、transaction_policy、concurrency_policyまたはretry_policy文を持たないすべての実装用のICF全体のデフォルト・ポリシーとして、特定のポリシーを設定できます。この機能により、プログラマは、実装ごとにポリシーを指定する必要がなくなります。また、デフォルトをオーバーライドすることもできます。module-name変数は、OMG IDLファイルでオプションの場合はオプションです。この変数は、スコープとグループを指定する場合に使用します。この変数を使用する場合は、OMG IDLファイル内の使い方と一貫性を持たせる必要があります。アクティブ化ポリシーの詳細は、「アクティブ化ポリシー」を参照してください。トランザクション・ポリシーの詳細は、「トランザクション・ポリシー」を参照してください。同時実行性ポリシーの詳細は、「パラレル・オブジェクト」を参照してください。再試行ポリシーの詳細は、「IIOPクライアント・フェイルオーバー」を参照してください。リスト2-1に、ICFファイルの例を示します。リスト2-1 ICFの例ICFファイルの作成には、手動でコーディングする方法と、genicfコマンドを使用してOMG IDLファイルから作成する方法があります。genicfコマンドの構文およびオプションについては、『Oracle Tuxedoコマンド・リファレンス』を参照してください。