remm 01/07/12 01:07:33 Modified: catalina/src/share/org/apache/naming/factory TyrexDataSourceFactory.java Log: - Support for Tyrex 0.9.7, which doesn't register the JDBC driver automatically. Revision Changes Path 1.3 +16 -10 jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TyrexDataSourceFactory.java Index: TyrexDataSourceFactory.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TyrexDataSourceFactory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TyrexDataSourceFactory.java 2000/11/04 22:27:06 1.2 +++ TyrexDataSourceFactory.java 2001/07/12 08:07:27 1.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TyrexDataSourceFactory.java,v 1.2 2000/11/04 22:27:06 remm Exp $ - * $Revision: 1.2 $ - * $Date: 2000/11/04 22:27:06 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/TyrexDataSourceFactory.java,v 1.3 2001/07/12 08:07:27 remm Exp $ + * $Revision: 1.3 $ + * $Date: 2001/07/12 08:07:27 $ * * ==================================================================== * @@ -65,6 +65,8 @@ package org.apache.naming.factory; import java.util.Hashtable; +import java.sql.Driver; +import java.sql.DriverManager; import javax.naming.Name; import javax.naming.Context; import javax.naming.NamingException; @@ -100,7 +102,7 @@ * </ul> * * @author Remy Maucherat - * @version $Revision: 1.2 $ $Date: 2000/11/04 22:27:06 $ + * @version $Revision: 1.3 $ $Date: 2001/07/12 08:07:27 $ */ public class TyrexDataSourceFactory @@ -195,12 +197,19 @@ ds.setDriverName(DEFAULT_DRIVER_NAME); } currentRefAddr = ref.get(DRIVER_CLASS_NAME); + String driverClassName = null; if (currentRefAddr != null) { - ds.setDriverClassName - (currentRefAddr.getContent().toString()); + driverClassName = + currentRefAddr.getContent().toString(); } else { - ds.setDriverName(DEFAULT_DRIVER_CLASS_NAME); + driverClassName = DEFAULT_DRIVER_CLASS_NAME; } + ds.setDriverClassName(driverClassName); + + // Loading and registering JDBC driver + Class driverClass = Class.forName(driverClassName); + Driver databaseDriver = (Driver) driverClass.newInstance(); + DriverManager.registerDriver(databaseDriver); if (ref.getClassName().equals ("tyrex.jdbc.ServerDataSource")) { @@ -220,9 +229,6 @@ return ds; } catch (Throwable t) { - // TEMP - t.printStackTrace(); - // END TEMP // Another factory could handle this, so just give up return null; }