Hi,

 

I'm using Tomcat 6.0.29.

 

I have two identical apps running at the same time. I mean, they use exactly
the same WAR, but each one runs in a different web domain. When I
stop/redeploy one of the apps, very often I get the famous leak problem,
because of the webclassloader not being able to get collected by the garbage
collector. etc etc etc.

 

I'm placing all my library JARs in a common directory
(../tomcat/shared/lib), and I set the catalina.properties file so Catalina
knows this directory exists. Why did I do that? For two reasons:

 

1- uploading a WAR without all the support JARs is faster than with them,
and I'm uploading my WARs very often, because I'm changing my app
constantly.

2- I THOUGHT/THINK that placing the JARs in the same shared directory is
better, because it takes less memory, and because after all there must be a
reason why the shared directory option existed by default (at least until
Tomcat 6.0.14 came out). And given that my two apps use exactly the same
WAR, it made sense to me to place the JARs in the shared dir.

 

Now I have read that this issue may be the reason of my problem with leaks.
Something like this "for each app, the webapploader pretendes to unload all
the classes, and if they are shared it is not possible and then the leak
happens".

 

Is that true? Should I avoid using the shared lib directory? If so, for what
was this option created for?

 

Thanks,

 

Brian

 

 

 

Reply via email to