Interstage Application Serverにおいて、Java EEのクライアントアプリケーションから、CORBAサーバアプリケーションを呼び出した場合、リクエストを送信するたびにコネクション資源が作成されました。

Java EE実行環境のIJServerクラスタ上で動作する、サーブレットやEJBアプリケーションから、CORBAサーバアプリケーションを呼び出した場合、リクエストを送信するたびに引数付きのORB.init()メソッドを発行すると、その都度、コネクション資源が作成されました。 原因と対処方法を教えてください。 ※J2EE実行環境のIJServer上で動作する、サーブレットやEJBアプリケーションからの呼び出しでは、その都度、コネクション資源が作成されることはありませんでした。
[原因]
J2EE(CORBAサービス)機能とJava EE機能では、コネクション資源の管理方法が異なります。
J2EE機能を使用した場合は、ORBインスタンスをいくつ作成しても、コネクション資源は共通であり、同じホスト名、ポート番号に対しては、ひとつのコネクション資源だけ作成します。
これに対して、Java EE機能を使用した場合は、ORBインスタンスはそれぞれ独立しており、同じホスト名、ポート番号に対する接続であっても、ORBインスタンスごとにコネクション資源を作成します。
リクエストのたびに作成されたコネクション資源は、IJServerクラスタが停止するか、サーバ側無通信監視機能等で接続先から切断されるまで、解放されません。

[対処方法]
以下の対処を実施してください。
・ORBインスタンスをstatic変数に保持する。
引数付きのORB.init()メソッドを、アプリケーションの初期化処理で発行し、ORBインスタンスをstatic変数に保持して、使いまわしてください。
製品・サービス区分 Interstage
製品・サービス情報
対象製品 Interstage Application Server
バージョン V11, V10
プラットフォーム Windows, Solaris, Linux
アンサー種別 構築(導入/移行)
このページの先頭へ