アプリケーション・モジュール・インスタンスに対するプールの最高水位標の設定

プール内のアクティブなアプリケーション・モジュール・インスタンスの平均数は、最高水位標機能を使用して管理できます。解放モードがステートフル(かつフェイルオーバーが無効)またはステートレス(かつresetnontransactionalstate=false)の場合、アプリケーション・モジュール・インスタンスの状態は、解放前にプールにより保持されます。

アプリケーション・モジュールのプールはすべて、単一のデーモン・スレッドで監視します。このスレッドは、最高水位標を解決する必要があることを各プールに定期的に通知します。これにより、アクティビティの多いときにもプールのサイズが大きく保たれ、高可用性が保持されます。たとえば、最高水位標値が25のプールを10分間に100セッションがアクセスするとします。アプリケーション・モジュール・インスタンスがプールに再度チェックインされた際に、プールが解放したアプリケーション・モジュール・インスタンスの数が最高水位標を超えている場合、アクティビティの多いこの10分間に開放または使用を行うと、その都度アプリケーション・モジュール・インスタンスが作成および削除されます。ただし、現在の最高水位標の実装では、使用率の高いこの10分間は、プール・サイズが100に保持される場合があります。

最高水位標機能は、次の4つのアプリケーション・モジュール・プールのパラメータを使用して構成します。

アプリケーション・モジュール・インスタンスをプールから削除するには、次のようにします。

  1. プール・マネージャが、プール内の非アクティブで使用可能なインスタンスの数を、使用可能なインスタンスの最小数と比較します。非アクティブで使用可能なインスタンスの数が最小数よりも大きい場合、プールは任意の非アクティブで使用可能なインスタンスの削除を試行します。非アクティブなインスタンスとは、プールの最大非アクティブ期間よりも長い間使用されなかったインスタンスを指します。プールによる非アクティブで使用可能なアプリケーション・モジュール・インスタンスの削除は、最小数に達するまで、または非アクティブで使用可能なインスタンスが存在しなくなるまで行われます。
  2. プール・マネージャが、プール内の使用可能なインスタンスの数を、使用可能なインスタンスの最大数と比較します。使用可能なインスタンスの数が最大数よりも大きい場合、プールは任意の使用可能なインスタンスの削除を試行します。プールによる使用可能なインスタンスの削除は、最大数に達するまで、または使用可能なインスタンスが存在しなくなるまで行われます。

アプリケーション・モジュール・インスタンスの最大数を設定するには、次のようにします。

ビジネス・ロジック層のJVMを起動する際に、コマンドラインに次のディレクティブを指定します。

-Djbo.ampool.maxavailablesize=n

n は0から2,147,483,647までの数値です。

また、$JDEV_HOME/BC4J/lib/bc4jmt.jarに格納されているjboserver.propertiesファイルに、次の1行を追加することもできます。この場合、デプロイメント時にこのファイルを含める必要があります。

jbo.ampool.maxavailablesize=n

アプリケーション・モジュール・インスタンスの最小数を設定するには、次のようにします。

ビジネス・ロジック層のJVMを起動する際に、コマンドラインに次のディレクティブを指定します。

-Djbo.ampool.minavailablesize=n

n は0から2,147,483,647までの数値です。

また、$JDEV_HOME/BC4J/lib/bc4jmt.jarに格納されているjboserver.propertiesファイルに、次の1行を追加することもできます。この場合、デプロイメント時にこのファイルを含める必要があります。

jbo.ampool.minavailablesize=n

インスタンスが非アクティブである最長期間を設定するには、次のようにします。

ビジネス・ロジック層のJVMを起動する際に、コマンドラインに次のディレクティブを指定します。

-Djbo.ampool.maxinactiveage=n

n は0から2,147,483,647までのミリ秒数です。

また、$JDEV_HOME/BC4J/lib/bc4jmt.jarに格納されているjboserver.propertiesファイルに、次の1行を追加することもできます。この場合、デプロイメント時にこのファイルを含める必要があります。

jbo.ampool.maxinactiveage=n

最高水位標処理の間隔を設定するには、次のようにします。

ビジネス・ロジック層のJVMを起動する際に、コマンドラインに次のディレクティブを指定します。

-Djbo.ampool.monitorsleepinterval=n

n は0から2,147,483,647までのミリ秒数です。

また、$JDEV_HOME/BC4J/lib/bc4jmt.jarに格納されているjboserver.propertiesファイルに、次の1行を追加することもできます。この場合、デプロイメント時にこのファイルを含める必要があります。

jbo.ampool.monitorsleepinterval=n

プロジェクト・プロパティを介してJavaオプションを設定するには、次のようにします。

  1. ナビゲータで、ビジネス・コンポーネント・プロジェクト(JPRファイル)を右クリックし、「プロジェクトの設定」を選択します。

  2. 「プロジェクトの設定」ダイアログの左側のパネルで、「構成」->「Development」の下のツリーで「実行」を選択します。

  3. 「Javaオプション」フィールドにパラメータを入力します。

  4. 「OK」をクリックします。


関連項目
アプリケーション・モジュールのプール
アプリケーション・モジュール・プールについて
プールのためのクラスについて
JSPプロジェクトのBC4J構成プロパティについて