For application scope, Apache SOAP keeps the instance of your class as part of the ServletContext for the servlet (using setAttribute). I would think that re-loading the Apache SOAP application would cause the old context to be released (no more references to it) and the new one to be created. It then becomes a matter of garbage collection to call your finalizer.
Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. ----- Original Message ----- From: "Jaroslav Šrýtr" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, October 23, 2004 3:52 PM Subject: How destroy java application using SOAP and Tomcat > Hi, > I use Apache SOAP with Tomcat (5.0.25) and have this trouble with SOAP. I > deployed java application. Application works right, but when is SOAP > reloaded from Tomcat Manager, is created new instance of class (is called > constructor), but old isn't free from a memory. It isn't call method > finalize(). I need perform any action, when is application shutdown. It's > possible? How are remove applications from a memory, when is SOAP reload or > stop? > > Thank, > > Jarda > > ----------------- > Very simple source code, which I use for testing: > (client send SOAP request and this class (method hello) return a response) > > > public class test > { > public test() > { System.out.println("---------- Constructor ----------"); } > > public String hello(String aName) > { return "Hello, " + aName; } > > public void finalize() > { System.out.println("---------- Finalize method ----------"); } > } > >