オペレーティングシステムがスリープ状態になろうとしているとき、またはそれが失敗したときに、Java プログラムが少なくともウェイクアップを検出する方法はありますか?
実際の問題は、特定のアプリケーションで多数の MySQL データベース操作がバックグラウンドで実行されることです。Windows マシンでのテストでは、スリープ/ウェイクアップ サイクルの後にこれらのデータベース トランザクションが中断され、プログラムで大量のエラー状態が発生しました。これらのエラーは通常、次のようになります。
java.net.SocketException メッセージ: ソフトウェアが原因で接続が中止されました: recv に失敗しました
「すぐにスリープする」イベントに対応できれば、問題を先取りしてバックグラウンド操作を一時停止することができます。あまり理想的ではありませんが、「起きたばかり」のイベントに対応できれば、少なくともエラー メッセージを抑制することができます。