Interstage Application Serverにおいて、Java EEのクライアントアプリケーションから、CORBAサーバアプリケーションを呼び出したところ、Java EEのクライアントアプリケーションがメモリリークします。
- Java EEのクライアントアプリケーションから、CORBAサーバアプリケーションを呼び出すと、Java EEのクライアントアプリケーションがメモリリークします。 原因と対処方法を教えてください。
- [原因]
リクエストを送信するたびに引数付きのORB.init()メソッドを発行すると、ORB.init()メソッドを発行した数だけ、コネクション資源が作成されます。
このため、クライアント側で不要なコネクション資源を多数保持してしまい、クライアントアプリケーションがメモリリークします。
[対処方法]
以下の対処を実施してください。
・ORBインスタンスをstatic変数に保持する。
引数付きのORB.init()メソッドを、アプリケーションの初期化処理で発行し、ORBインスタンスをstatic変数に保持して、使いまわしてください。
関連FAQ:
FAQ14618 「Interstage Application Serverにおいて、Java EEのクライアントアプリケーションから、CORBAサーバアプリケーションを呼び出した場合、リクエストを送信するたびにコネクション資源が作成されました。」
製品・サービス区分 | Interstage | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 運用/保守 |