JVMプーリングの使用例

この例では、ユーザー・インタフェースのボタンを持つOracle Formsアプリケーションについて考えてみます。

ユーザーがボタンを押すと、Oracle Formsは画面上のフィールドから値を取得してJavaに渡し(Java Importer機能を使用)、PL/SQLでは実行できないなんらかの複雑な計算を実行します。その後、結果が返され、フォーム内のフィールドに表示されます。このFormsセッションを実行するために、1つのJVMプロセスが実行されています。

次の図は、JVMプーリングが有効になっていないために、このOracle Formsセッションに個別のインプロセスJVMが存在する様子を示しています。図の左側には、独自のFormsセッションを実行する複数のクライアントが示されています。図の中央で、各クライアントは、独自のJVMプロセスを含む独自のFormsランタイム・プロセスをコールします。

図-39 JVMプーリングを使用しない場合のFormsランタイム

図-39の説明が続きます
「図-39 JVMプーリングを使用しない場合のFormsランタイム」の説明

次の図は、JVMプーリングが有効になっている場合に、複数のFormsランタイム・プロセスで単一のJVMプロセスが共有される様子(図の右側)を示しています。

図-40 JVMプーリングが有効な場合のFormsランタイム

図-40の説明が続きます
「図-40 JVMプーリングが有効な場合のFormsランタイム」の説明

前の図に示すように、この例では、同じアプリケーションでそれぞれ独自のランタイム・プロセスを使用して機能している5つのクライアントが、独自のJVMインスタンスを生成するそれぞれのFormsランタイム・プロセスを使用するかわりに、1つのプールされたJVMプロセスを使用しています。このため、メモリー使用率とシステム・リソースを大幅に節約できます。