2011/12/17 Frank Zhang <frank.zh...@citrix.com>: > Hi All: > Our code is using apache dbcp library and mysql-connector as > JDBC driver other than tomcat own tomcat-dbcp.jar. we always put > mysql-connector at CATALINA_HOME/lib while put commons-dbcp-1.4.jar > at CATALINA_HOME/webapps/client/WEB-INF/lib/. This worked fairly well in > tomcat 6.0.2x and even in 6.0.33. In 6.0.35 I encountered the error > "java.sql.SQLException: No suitable driver found for" during the booting time > which looks like mysql-connector not in classpath. Considering it's working > all right before, my suspect is 6.0.35 silently changed its class loading > way. Could somebody give me some hints? Thanks. > > Accidentally, I tried putting mysql-connector to > CATALINA_HOME/webapps/client/WEB-INF/lib/, but no better result. > > --------------- the error ---------------- > > [java] java.sql.SQLException: No suitable driver found for > jdbc:mysql://localhost:3306/cloud?autoReconnect=true&prepStmtCacheSize=517&cachePrepStmts=true > [java] at java.sql.DriverManager.getConnection(DriverManager.java:640) > [java] at java.sql.DriverManager.getConnection(DriverManager.java:200) > [java] at > org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75) > [java] at > org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) > [java] at > org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1181) > [java] at > org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106) > [java] at > com.cloud.utils.db.Transaction.getStandaloneConnectionWithException(Transaction.java:199) > [java] at > com.cloud.utils.db.Transaction.getStandaloneConnection(Transaction.java:208) > [java] at > com.cloud.utils.db.DbUtil.getConnectionForGlobalLocks(DbUtil.java:59) > [java] at com.cloud.utils.db.DbUtil.getGlobalLock(DbUtil.java:204) > [java] at com.cloud.utils.db.GlobalLock.lock(GlobalLock.java:153) > [java] at > com.cloud.upgrade.DatabaseIntegrityChecker.check(DatabaseIntegrityChecker.java:208) > [java] at > com.cloud.utils.component.ComponentLocator.runCheckers(ComponentLocator.java:240) > [java] at > com.cloud.utils.component.ComponentLocator.parse(ComponentLocator.java:211) > [java] at > com.cloud.utils.component.ComponentLocator.getLocatorInternal(ComponentLocator.java:795) > [java] at > com.cloud.utils.component.ComponentLocator.getLocator(ComponentLocator.java:833) > [java] at > com.cloud.utils.component.ComponentLocator.getComponent(ComponentLocator.java:383) > [java] at > com.cloud.utils.component.ComponentLocator.getComponent(ComponentLocator.java:376) > [java] at > com.cloud.servlet.CloudStartupServlet.init(CloudStartupServlet.java:46) > [java] at javax.servlet.GenericServlet.init(GenericServlet.java:212) >
There was <add> <bug>51640</bug>: Improve the memory leak prevention for leaks triggered by java.sql.DriverManager. (markt/kkolinko) </add> The same code is in 7.0.21+, so IIRC similar issues were already discussed once. Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org