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 | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 構築(導入/移行) |