カスタム アプリケーションで Java サービス ラッパーをかなり長い間使用してきましたが、問題なく動作しています。ここ数日でアプリケーションを新しいバージョンに更新してから、JVM がハングし始め、ラッパーがログに次のように出力します。
次に、JVM を自動的に終了し、アプリを再起動します。これは、約 10 時間の実行後に発生するため、デバッグが難しくなります。
もちろん、行った変更に目を通すつもりですが、この種の問題を引き起こしていると思われるような大きな変更は行われていません。
何が起こっているのかを把握するには、どこを参照すればよいですか? アプリケーションからのデバッグ メッセージは、興味深いものを何も示していません。JVM が単にクラッシュした場合、通常はデバッグに役立つダンプが作成されますが、ハングしているため、ダンプは作成されません。サービスを自動的に再起動しないようにした場合、再起動する前に JVM から有用な情報を取得するためにできることはありますか?
私には、JVM が典型的なプログラミング エラーでハングするべきではないように思えます。JVM がハングする原因となる前に、どのようなことに遭遇したことがありますか?