Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次
索引
第2章 CORBAアプリケーション開発時の留意事項
> 2.1 コーディング
2.1.8 その他
アプリケーション状態が無応答状態となった過去事例におけるユーザ論理ミスの要因として、次のようなものが挙げられます。
- アプリケーションの処理内でsleep()により停止していた。
- メッセージキュー(IPC資源)枯渇により、OS自体がスローダウンしていた。
サーブレットやJSPで指定する日本語コード系が統一されているか確認してください。
CORBAのライブラリ(Solaris版/Linux版の場合はlibOM.so、Windows版の場合はodsv.dll/odwin.dll)をdlopen関数(Windowsの場合はLoadLibrary関数)プログラムに動的に組み込んでいる場合、dlclose関数(Windowsの場合はFreeLibrary関数)で解放しないでください。
CORBAのJava言語インタフェースを使用している場合は、JavaのfinalizeメソッドではCORBA通信を行わないでください。JavaのfinalizeメソッドでCORBA通信を行っている場合、COMM_FAILURE例外が発生する可能性があります。
プレインストール型JavaおよびJavaサーバでは、リクエストの送受信時にCORBAサービスが獲得するCヒープ領域は、FullGC処理により解放されます。そのため、Javaヒープに大きいサイズを指定している場合、FullGC処理を行う間隔が長くなり、Cヒープのサイズ不足によるメモリ不足が発生する可能性があります。
このようなメモリ不足の発生を防止するため、CORBA-Javaアプリケーションにおいて以下のタイミングでSystem.gc()を呼び出し、FullGC処理を動作させてください。
サーバからのリプライ受信後
一定時間間隔ごと
目次
索引
Copyright 2006 FUJITSU LIMITED