java.net.URLClassloader: behaviour during OS suspend/resume on Window
Heiko Wagner
heiko.wagner at apis.de
Fri Feb 7 12:53:53 UTC 2014
Hi,
I hope this is the right list to post this question. I am currently facing some problems with class loading on Windows. When a Windows 7 laptop goes into power save mode (suspend) and wakes up again, my URLClassloader no longer does load any classes from my JAR file (ClassNotFoundException). This is propably caused by the fact, that after resume all network shares, where the JAR file for my app reside, and all file handles associated to network shares are no longer valid.
While this arguably is a indication how horrible broken the OS/driver is, the only workaround is to listen for the OS "PBT_APMRESUMESUSPEND" event and try to manually fix the problem by trying to "reopen" all peviously opened file to obtain valid OS handles again.
Is there any code in the JDK that tries to workaround the suspend/resume problem or what would you suggest as a feasable way to get the URLClassloader in a usable state again?
Regards,
Heiko
P.S.: I similar probem is also triggered by badly written anti-virus software, as it scans JAR files it denies read-access to them and a ClassNotFoundException also occurs.
More information about the core-libs-dev
mailing list