Wykryj zdarzenia OS Sleep and Wake Up w Javie

Czy istnieje sposób na wykrycie przez program Java, kiedy system operacyjny ma zasnąć lub nie, przynajmniej wykrycie przebudzenia?

Rzeczywisty problem polega na tym, że w konkretnej aplikacji wiele operacji bazy danych MySQL jest uruchamianych w tle. Podczas testowania na komputerze z systemem Windows te transakcje bazy danych są przerywane po cyklu uśpienia / przebudzenia powodującym mnóstwo błędów w programie. Błędy te zazwyczaj wyglądają mniej więcej tak:

java.net.SocketException
MESSAGE: Software caused connection abort: recv failed

Gdybyśmy mogli zareagować na zdarzenie „śpię wkrótce”, moglibyśmy próbować wstrzymać operacje w tle, zapobiegając problemowi. Mniej idealnie, gdybyśmy mogli zareagować na zdarzenie „po prostu się obudzili”, moglibyśmy przynajmniej usunąć komunikaty o błędach.

questionAnswers(3)

yourAnswerToTheQuestion