2011/12/17 Frank Zhang <[email protected]>:
> 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: [email protected]
For additional commands, e-mail: [email protected]