プールするコンポーネントの構成
プールされていることをサポートするために正しく記述されている場合にのみ、プールするコンポーネントを構成できます。 これらの要件の詳細については、プール可能なオブジェクトの要件に関する記事を参照してください。
メモ
既定では、プールするコンポーネントは構成されていません。
プールするコンポーネントを構成するときに、COM+がプールを維持する方法を決定する次のプロパティを指定できます。
- 最小プールサイズ。 アプリケーションの起動時に作成されるオブジェクトの数と、アプリケーションの実行中にプールで維持されるオブジェクトの最小数を表します。 プール内の使用可能なオブジェクトの数が指定した最小値を下回ると、未処理のオブジェクト要求を満たすために新しいオブジェクトが作成され、プールがいっぱいになります。 プール内の使用可能なオブジェクトの数が最小値を超えると、余分なオブジェクトはクリーンアップサイクル中に破棄されます。
- 最大プールサイズ。 プールマネージャーが作成するプールオブジェクトの最大数を表します。これは、クライアントによってアクティブに使用され、プール内で非アクティブになっているオブジェクトの両方です。 オブジェクトを作成するときに、プールマネージャーは最大プールサイズに達していないことを確認し、達していない場合は、クライアントに分配するオブジェクトの新しいインスタンスを作成します。 最大プールサイズに達した場合、クライアント要求はキューに置かれ、先着順でプールから最初に使用可能なオブジェクトを受け取ります。 オブジェクトの作成要求は、指定した期間が経過するとタイムアウトになります。
- 作成タイムアウト(ミリ秒)。 クライアントが、CoCreateInstanceへの呼び出し後にオブジェクトがプールから返されるのをどれだけ待機するかを、ミリ秒単位で指定します。 クライアント呼び出しが失敗した場合は、エラーE_TIMEOUTが返されます。
プール関連のプロパティを設定するには
コンポーネントサービス管理ツールの詳細ウィンドウで、コピーするコンポーネントを右クリックし、[コピー]をクリックします。
[コンポーネントのプロパティ]ダイアログボックスで、[アクティブ化]タブをクリックします。
コンポーネントのオブジェクトプールを有効にするには、[オブジェクトプールを有効化]チェックボックスをオンにします。
[最小プールサイズ]ボックスで、プール内のこの種類のオブジェクトの最小数を入力します。 プールには、少なくともこの数のオブジェクトが保持されます。
[u]ボックスに、プール内のこの種類のオブジェクトの最大数を入力します。 オブジェクトの数は、アクティブ化されている場合も非アクティブ化されている場合も、この値を超えることはありません。
[作成タイムアウト(ミリ秒)]ボックスに、プールされたオブジェクトがどれもすぐには利用できない場合にクライアントがどれだけ待つか、時間をミリ秒単位で入力します。
関連トピック