Not entirely sure, don't think so. But it seems to me that the answer really doesn't matter -- you can never rely on the servlet container calling destroy() and performing a proper shutdown. The machine or JVM might simply crash, the power might be cut...
Also, have you considered that the approach will not work at all in a distributed container?
Furthermore, when using the Singleton feature in a web-app
you should realise that during development, due to class reloading, there may well be more than one version of your Class living in the JVM and therefore more than one version of your Singleton. To address this you can bind the singleton instance in the servlet context rather than in a static variable (but beware of ClassCastExceptions for reloaded non-system classes).
- Peter
[ May 09, 2002: Message edited by: Peter den Haan ]