Yoav,

I do apologise if it appears I am being prolific with problems and I do apologise if 
this is over critical, but it is testamount to the lack of quality documentation on 
Tomcat (and jakarta projects in general it has to be said) that has resulted in my not 
understanding how Tomcat is working in certain respects and the reason I feel I must 
request help from the list. This seems to be a general problem across all development 
projects as far as I can see and I suppose the fact that Tomcat is opensource does not 
motivate its developers to write properly about the product.

If the mechanism by which tomcat reloads a web application creates a new classloader 
and allows the old one to be left intact with its references, then I would say that 
should be documented. I mean I randomly selected a tomcat 5 documentation page and 
found this highly useful description of a web context

Context - In a nutshell, a Context is a web application. 
Term2 - This is it. 
Term3 - This is it! 

Fantastic.

I don't really want to be looking the Tomcat sources to understand how it address 
dynamic classloading or memory handling, maybe I'm missing the point and should 
motivate my company to purchase a commercial app server. I think a lot of people come 
up against this since most posts on this list could be addressed through 
documentation. Anyway, that is a different issue altogether..I am eagerly awaiting the 
Professional Tomcat 5.0 book due out soon!!

My classes maintain references as static singletons using a registry. I do not 
consider this to be bad design at all contrary to your supposition. In fact, the 
application is architected around J2EE architecture design patterns. 

The part of your answer that was useful was to hear that the class loader is left 
intact, and therefore if this is case I understand why I may eventually get to an 
OutOfMemoryException. 

Further, I will not be allowing reloading of webapps when the product goes live and 
the product does not have outofmemory issues so long as the webapp is left without 
reloading.

Thank you for your help, and sorry to be critical. ADC.

-- snip --
It depends on how your classes maintain references.  Since the old
classloader is intact, static references from your servlets, for
example, will be kept.  Tomcat can't do anything about that, it's your
own bad design in the context of reloading webapps (it might be OK
design in a console java program).

Yoav Shapira


<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> 
-------------------------------------------------------
QAS Ltd.
Developers of QuickAddress Software
<a href="http://www.qas.com";>www.qas.com</a>
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to