Hi!

I am stuck with the following "challenge".

After some initial problems with my web application with regard to 
ClassNotFoundExceptions when trying to read blobs from a MySQL database which was 
caused by my lack of knowledge regarding the Tomcat class loading filosophy (which is 
explained very well in 
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html) I am stuck 
with the following:

I started out with a web application that was fully selfcontained i.e. it
did not use database or JNDI resources defined in the Tomcat container. So
there was a mysql-connector-java.jar in the WEB-INF/lib of the web
application and the classes were in WEB-INF/classes. While developing under
Forte4J (SunONE Studio update 1, Tomcat v4.0.1, NetBeans, Windows2000)
everything seemed to work fine. Then I deployed to a RedHat Linux 8.0 host
running Tomcat v4.0.3 and I got the ClassNotFoundException.

QUESTION:
Can somebody explain - in terms of class loading - why I get
the ClassNotFoundException when both the MySQL driver stuff and the web
application are in the same class loader context (at least they are there
from my point of view).

Then I changed to running Tomcat v4.1.24 both on W2000 and RH 8.0 (with JDK
1.4.0_01), I redesigned my web application to use the Tomcat filosophy regarding JNDI 
and database resources and I still got the ClassNotFoundException, that is until I 
found the documentation about class loading...

What I don't like much is that I have to move part of my web application code (the 
classes that are stored as blob in the database) into the container's common/lib 
directory. This causes deployment of my web application to be more difficult and makes 
my web application less portable.

Of course I did NOT read all of the Tomcat documentation, so I will not say that I 
know all about the different ways to configure a web application in Tomcat, but 
sometimes a few words in the right direction helps me to focus.

I'm off reading more of the Tomcat docs and hope for somebody out there to enlighten 
me ;-) 

Regards,
Guus

Reply via email to