アプリケーション状態が無応答状態となった過去事例におけるユーザ論理ミスの要因として、次のようなものが挙げられます。
アプリケーションの処理内でsleep()により停止していた。
メッセージキュー(IPC資源)枯渇により、OS自体がスローダウンしていた。
サーブレット/JSPで指定する日本語コード系が統一されているかを確認してください。
CORBAのライブラリ(Windows(R)の場合:odsv.dll/odwin.dll、Solaris/Linuxの場合:libOM.so)をdlopen関数(Windows(R)の場合:LoadLibrary関数)プログラムに動的に組み込んでいる場合は、dlclose関数(Windows(R)の場合: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通信のためにファイルディスクリプタを使用します。しかし、fopen関数などの標準Cライブラリstdio(3C)の関数では、ファイルディスクリプタが255までしか使用できません。CORBAアプリケーションにおいて、標準Cライブラリstdio(3C)の関数は使用しないことを推奨します。
CORBAサービスでは以下の変数名を予約語としています。CORBAアプリケーションでは使用しないでください。
"OM_"で始まる変数名
"OD_"で始まる変数名
"ISP_"で始まる変数名
"g_"で始まる変数名