JVMプーリングの使用例
この例では、ユーザー・インタフェースのボタンを持つOracle Formsアプリケーションについて考えてみます。
ユーザーがボタンを押すと、Oracle Formsは画面上のフィールドから値を取得してJavaに渡し(Java Importer機能を使用)、PL/SQLでは実行できないなんらかの複雑な計算を実行します。その後、結果が返され、フォーム内のフィールドに表示されます。このFormsセッションを実行するために、1つのJVMプロセスが実行されています。
次の図は、JVMプーリングが有効になっていないために、このOracle Formsセッションに個別のインプロセスJVMが存在する様子を示しています。図の左側には、独自のFormsセッションを実行する複数のクライアントが示されています。図の中央で、各クライアントは、独自のJVMプロセスを含む独自のFormsランタイム・プロセスをコールします。
次の図は、JVMプーリングが有効になっている場合に、複数のFormsランタイム・プロセスで単一のJVMプロセスが共有される様子(図の右側)を示しています。
前の図に示すように、この例では、同じアプリケーションでそれぞれ独自のランタイム・プロセスを使用して機能している5つのクライアントが、独自のJVMインスタンスを生成するそれぞれのFormsランタイム・プロセスを使用するかわりに、1つのプールされたJVMプロセスを使用しています。このため、メモリー使用率とシステム・リソースを大幅に節約できます。