ログオフによるJavaプロセス終了への対応 |
Windows版のJavaでは、ログオフを行うとJVMがログオフイベントを拾って自らプロセス終了してしまう現象が発生します。
history.actの確認
アボートが発生してプロセス再起動が行なわれた場合、history.actに以下のメッセージが出力されます。
TPS15-01107 Process abnormal end. PID=[<プロセスID>], class[<プロセスグループ名>], ped[<アプリケーショングループ名>.ped]
|
イベントログ(アプリケーション、システム)・シスログ
APログ:
${INSTANCE_ROOT}/logs/tpsystem/<アプリケーショングループ名>/<プロセスグループ名>/save/<プロセスグループ名>.<数字>.<PID>.log
システムトレース:
${INSTANCE_ROOT}/logs/tpsystem/<アプリケーショングループ名>/<プロセスグループ名>/save/<プロセスグループ名>_sys.<数字>.<PID>.log
${INSTANCE_ROOT}/config/tpsystem/history.act (sav)
${INSTANCE_ROOT}/config/tpsystem/sysmsg.trc (sav)
${INSTANCE_ROOT}/logs/server.log
${INSTANCE_ROOT}/logs/webotx_agent.log
${INSTANCE_ROOT}/logs/tpsystem/webotx_tpmmgr.log
ログオフを行わないことでこの現象を回避できます。
この問題を予防するための対策については以下の方法があります。
-Xrsオプションの設定
-Xrsオプションを指定することで、JVMがログオフイベントを拾わなくなりログオフでプロセスが突然終了することもなくなります。プロセスグループの設定の、「Java VMオプション」の「その他引数」に、「-Xrs」という記述を追加してください。
ただしこの設定を行うことで、wostackコマンドやSIGQUITの送信によるスタックトレースの出力機能が使用できなくなりますので注意してください。また、実行時間超過時などに出力されるスタックトレースも出力されなくなります。
WebOTX V6.3 以降のバージョンではログオフイベントを拾わないため、-Xrsオプションを指定する必要はありません。