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

Reply via email to