You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@jakarta.apache.org by "Blohm, Henning" <he...@sap.com> on 2001/03/12 10:08:20 UTC

class loader separation of API and implementation in tomcat

Hi everybody, 
I had a problem with the tomcat 3.1 release that I hoped would be resolved
by newer releases, but it seems that that never happened: 
Since tomcat is a framework that integrates Java code it seems natural that
tomcat should have a class loader hierarchy that cleanly separates the
tomcat implementation classes from the API, so that there is no class
collisions between classes used by an application and by tomcat itself.
Although tomcat seems to follow that principle when loading servlets, it
doesn't apply it to itself. Just yesterday, I downloaded the 3.2.1 release
and it seems that you still have to put parser.jar and jaxp.jar from the
tomcat's lib folder into the main classpath which effectively prohibites the
use of other xml libraries (with the same class names but different
implementations) in servlets. 
Is this really true? Is there a way to configure tomcat so that you do not
have to worry about any classes the tomcat implementation loads? 
For a production environment that must be able to accept any web application
as long as it complies to the servlet API, this behaviour seems unacceptable
to me... 
Does anybody know of a solution? 
Thank you! 
Henning 
Ps: Nevertheless, I think tomcat is truly a great open source project!


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


Re: class loader separation of API and implementation in tomcat

Posted by Peter Larsson <pe...@halebop.net>.
Hi there,

Formally I agree with you, but there are no practical obstacles to use others
XML implementations as far as they use the same version of the "API" as tomcat
does.

We have work-arounded this problem by implementing our own XML/XSLT Factory,
and are currently using Oracles XML/XSLT stuff in a tomcat environment.

thanks,

-- peter



"Blohm, Henning" wrote:

> Hi everybody,
> I had a problem with the tomcat 3.1 release that I hoped would be resolved
> by newer releases, but it seems that that never happened:
> Since tomcat is a framework that integrates Java code it seems natural that
> tomcat should have a class loader hierarchy that cleanly separates the
> tomcat implementation classes from the API, so that there is no class
> collisions between classes used by an application and by tomcat itself.
> Although tomcat seems to follow that principle when loading servlets, it
> doesn't apply it to itself. Just yesterday, I downloaded the 3.2.1 release
> and it seems that you still have to put parser.jar and jaxp.jar from the
> tomcat's lib folder into the main classpath which effectively prohibites the
> use of other xml libraries (with the same class names but different
> implementations) in servlets.
> Is this really true? Is there a way to configure tomcat so that you do not
> have to worry about any classes the tomcat implementation loads?
> For a production environment that must be able to accept any web application
> as long as it complies to the servlet API, this behaviour seems unacceptable
> to me...
> Does anybody know of a solution?
> Thank you!
> Henning
> Ps: Nevertheless, I think tomcat is truly a great open source project!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: general-help@jakarta.apache.org