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 ----------"); }
> }
>
>