Java程序有没有办法检测操作系统何时即将进入睡眠状态,或者失败,至少检测到唤醒?
实际问题是在特定应用程序中,许多 MySQL 数据库操作在后台运行。在 Windows 机器上进行测试时,这些数据库事务在睡眠/唤醒周期后被中断,导致程序中出现大量错误情况。这些错误通常如下所示:
java.net.SocketException 消息:软件导致连接中止:recv 失败
如果我们可以对“即将休眠”事件做出反应,我们可以尝试暂停后台操作以抢占问题。不太理想的是,如果我们可以对“刚醒来”事件做出反应,我们至少可以抑制错误消息。