アプリケーション状態が無応答状態となった過去事例におけるユーザ論理ミスの要因として、次のようなものが挙げられます。
アプリケーションの処理内で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処理を動作させてください。
サーバからのリプライ受信後
一定時間間隔ごと
CORBAアプリケーションではCORBA通信のためにファイルディスクリプタを使用します。しかし、Solarisにおいてfopen関数などの標準Cライブラリ stdio(3C) の関数ではファイルディスクリプタが255までしか使用できません。そのため、CORBAアプリケーションでの標準Cライブラリ stdio(3C) の関数の使用は推奨しません。