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;
>  }
>
>
>
>
>
>
>

Reply via email to