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)
     [java]     at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
     [java]     at 
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
     [java]     at 
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
     [java]     at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
     [java]     at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
     [java]     at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
     [java]     at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
     [java]     at 
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
     [java]     at 
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
     [java]     at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
     [java]     at 
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
     [java]     at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
     [java]     at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
     [java]     at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
     [java]     at 
org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
     [java]     at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
     [java]     at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
     [java]     at 
org.apache.catalina.core.StandardService.start(StandardService.java:525)
     [java]     at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
     [java]     at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     [java]     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:616)
     [java]     at 
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
     [java]     at 
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Reply via email to