带有BoneCP奇怪错误的Java连接池
我是java编程的新手,我正在努力学习 我有一个数据库mysql,我用连接池管理连接,BoneCP是我使用的库 创建池的代码如下所示:带有BoneCP奇怪错误的Java连接池,java,mysql,database,tomcat,bonecp,Java,Mysql,Database,Tomcat,Bonecp,我是java编程的新手,我正在努力学习 我有一个数据库mysql,我用连接池管理连接,BoneCP是我使用的库 创建池的代码如下所示: BoneCPConfig config = new BoneCPConfig(); // create a new configuration object config.setJdbcUrl( R.database.url + R.database.db
BoneCPConfig config = new BoneCPConfig(); // create a new configuration object
config.setJdbcUrl( R.database.url + R.database.dbName ); // set the JDBC url
config.setUsername( R.database.userName ); // set the username
config.setPassword( R.database.password ); // set the password
config.setMinConnectionsPerPartition(2);
config.setMaxConnectionsPerPartition(5);
config.setPartitionCount( 3 );
try{
connectionPool = new BoneCP( config ); // setup the connection pool
}catch( Exception e ){
System.out.println( e );
}
当我需要将查询发送到DB的连接时,我使用以下代码行捕获连接:
conn=R.database.connectionPool.getConnection
我认为在这一点上一切正常,我没有任何错误
一分钟后,控制台说:
[BoneCP-pool-watch-thread] ERROR com.jolbox.bonecp.BoneCP - Failed to acquire connection to jdbc:mysql://localhost:3306/test_db. Sleeping for 7000 ms. Attempts left: 0
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test_db
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363)
at com.jolbox.bonecp.BoneCP.obtainInternalConnection(BoneCP.java:269)
at com.jolbox.bonecp.ConnectionHandle.<init>(ConnectionHandle.java:242)
at com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:115)
at com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:82)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
[BoneCP-pool-watch-thread] ERROR com.jolbox.bonecp.CustomThreadFactory - Uncaught Exception in thread BoneCP-pool-watch-thread
java.lang.NoClassDefFoundError: com/jolbox/bonecp/hooks/ConnectionState
at com.jolbox.bonecp.ConnectionHandle.markPossiblyBroken(ConnectionHandle.java:382)
at com.jolbox.bonecp.ConnectionHandle.<init>(ConnectionHandle.java:244)
at com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:115)
at com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:82)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
这是个奇怪的问题
非常感谢
No suitable driver found for jdbc:mysql://localhost:3306/test_db
这似乎意味着您的类路径上没有java MySQL JDBC驱动程序,请查看MySQL可用的连接器,并确保包含此驱动程序的适当JAR位于您的类路径上
你好,非常感谢你的回答。我已经在项目的类路径上安装了这个库,我能够对数据库进行查询。。。这个错误是在几分钟的不活动后调用的,但是我能够再次毫无问题地重新连接到数据库。问题是这个问题的原因是什么!??XD当我重新部署该项目时,我发现:严重:web应用程序[/tom]似乎启动了一个名为[BoneCP pool watch thread]的线程,但未能停止它。这很可能会造成内存泄漏。2013年11月28日上午9:26:49 org.apache.catalina.core.ApplicationContext日志