Ok I found _A_ solution but I don't really like it. Basically I had the
db2java.jar file in the lib directory for both webapps.
I moved the jar to only reside in TOMCAT_HOME\lib and updated the
wrapper.properties file. Now it's magically delicious. What would be a
better way to resolve this (Something with classloaders?) so that each web
app can have it's own copy of the jar?
Thanks
Brian
----- Original Message -----
From: "Brian Richards" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 04, 2001 12:53 AM
Subject: Driver fails to load on two webapps
> Ok I am running two applications that use the IBM DB2 appdriver to connect
> to two different databases. The problem is this when i start up tomcat
only
> one of the applications can access the database. The first one to have a
> request made wins and the other app gets a No Suitable Driver exception.
> They both work independtly as long as it's the first one requested. My
> theory is that the Class.forName(driver) being called twice is mucking
> things up the code at fault is:
>
> The obeject that owns this code is instatiated in in jspInit() and load is
> called only once.
>
> Any other theories?
>
> Thanks
>
> Brian
>
> ps
> I'm using Tomcat 3.3, jdk1.3.1 WIN2k. and Apace 1.3.6
> and the two applications are in two different virtual hosts
>
> <Context path="/" docBase="E:/csc/513/htdocs" debug="0" reloadable="true"
> trusted="false"/>
>
> <Host name="dafs.dyndns.org" >
> <Context path="/messages" docBase="webapps/jive" debug="0"
> reloadable="false" trusted="false"/>
> </Host>
>
> but i get teh same error when they are both in the same host.
>
>
>
> public Connection driverManager()
> throws SQLException
> {
> return DriverManager.getConnection(getURL(), getUserID(),
getPassword());
> }
>
> public boolean load(Properties prop)
> {
> if (prop!=null) {
> try {
> driver = (String)prop.get("driver");
> password = (String)prop.get("password");
> URL = (String)prop.get("url");
> userID = (String)prop.get("user");
> dataSourceName = (String)prop.get("datasource");
> try {
> Class.forName(getDriver());
> } catch (ClassNotFoundException cnfe) {
> System.err.println(getDriver()+" could not be found.");
> }
> } catch (NullPointerException npe) {
> return false;
> }
> }
> return true;
> }
>
>
>
>
>
>
>