Есть ли способ для Java-программы определить, когда операционная система собирается перейти в спящий режим, или, если это не удалось, хотя бы обнаружив пробуждение?
Фактическая проблема заключается в том, что в конкретном приложении ряд операций с базой данных MySQL выполняется в фоновом режиме. При тестировании на компьютере с Windows эти транзакции базы данных прерываются после цикла сна / пробуждения, что вызывает массу ошибок в программе. Эти ошибки обычно выглядят примерно так:
java.net.SocketException
MESSAGE: Software caused connection abort: recv failed
Если бы мы могли отреагировать на событие «скоро будет спать», мы могли бы попытаться приостановить фоновые операции, предупреждающие проблему. В идеале, если бы мы могли реагировать на событие «только что проснулся», мы могли бы по крайней мере подавить сообщения об ошибках.