事件是否有一個Java程序,當操作系統即將進入睡眠狀態,或做不到這一點,至少檢測喚醒檢測的方法嗎?檢測OS睡眠和喚醒在Java中
實際的問題是,在一個特定的應用程序的一些MySQL數據庫的操作在後臺運行。在Windows機器上測試時,這些數據庫事務在睡眠/喚醒週期後會中斷,從而導致程序中出現大量錯誤情況。這些錯誤通常是這個樣子:
java.net.SocketException MESSAGE: Software caused connection abort: recv failed
如果我們能以一個「會睡不久」事件作出反應,我們可以嘗試暫停後臺操作搶佔問題。理想情況下,如果我們可以對「剛剛醒來」事件作出反應,我們至少可以抑制錯誤消息。
遺憾的是,沒有JNI就無法完成,但鏈接似乎是一個好的開始。 – 2009-08-01 00:32:26
是的,JNI可能是一個開發和調試的痛苦。我們發現關鍵是要儘可能在Java中保留儘可能多的邏輯,並且只需使用JNI作爲橋接器就可以對C API進行低級調用。 – rob 2009-08-03 20:21:09