Обнаружьте события OS Sleep и Wake Up в Java

LINQ упростит это, только если Вы удаляете логику из своих хранимых процедур и повторно реализуете ее как linq запросы. Который был бы намного более устойчивым и легче протестировать, определенно. Однако это кажется, что Ваши требования устранили бы это.

TL; DR: Ваш дизайн имеет проблемы.

10
задан Alexander Ljungberg 31 July 2009 в 18:05
поделиться

3 ответа

Вы можете обнаружить пробуждение, периодически сравнивая текущее системное время с предыдущим системным временем.

Изменить: вот пример, который, похоже, поможет вам определить, когда машина собирается спать: http://www.codeguru.com/cpp/wp/system/messagehandling/article.php/c6907

10
ответ дан 3 December 2019 в 22:01
поделиться

Я знаю, что это не совсем то, что вы ищете, но возможно, правильный ответ - попытаться написать код, предполагая, что ваши сокеты не обязательно будут работать. Существует множество причин, по которым соединение может обрушиться, например, из-за того, что база данных отключена для обслуживания или из-за того, что кто-то споткнулся о ваш кабель Ethernet. Я думаю, у вас были бы аналогичные проблемы с ошибками, если бы кто-то вытащил сетевой кабель во время работы вашего приложения, и это не является чем-то неслыханным, поэтому, возможно, лучше попытаться справиться с этими условиями изящно.

3
ответ дан 3 December 2019 в 22:01
поделиться

Вы можете просто JNI или JNA, чтобы перехватить события сна / пробуждения из ОС.

Из Windows Power Events (MSDN) вам нужно будет создать Обработчик окна и пустое окно для приема событий WM_POWERBROADCAST. Эта оконная процедура может затем вызвать функцию события в вашем Java-коде, чтобы всплыть сообщение.

3
ответ дан 3 December 2019 в 22:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: