7
回答
求助:使用C3P0出错!
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

配置文件的所有内容:

c3p0.jdbcUrl=jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:ora10g
c3p0.driverClass=oracle.jdbc.driver.OracleDriver
c3p0.user=XXX
c3p0.password=XXX
c3p0.minPoolSize=3
c3p0.maxPoolSize=20

com.mchange.v2.log.MLog=com.mchange.v2.log.log4j.Log4jMLog
com.mchange.v2.log.NameTransformer=com.mchange.v2.log.PackageNames
com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=ALL

获取连接代码:

ComboPooledDataSource cpds = new ComboPooledDataSource();
conn = cpds.getConnection();
出错信息:
log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).

log4j:WARN Please initialize the log4j system properly.

java.sql.SQLException: Connections could not be acquired from the underlying database!

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)

at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)

at c3p0.testc3p0.main(testc3p0.java:21)

Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.

at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)

at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)

at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)

... 2 more
真心求助!谢谢大家!

举报
坚持_执着
发帖于6年前 7回/15K+阅
共有7个答案 最后回答: 4年前

引用来自“红薯”的答案

从错误信息来看跟配置和代码无关了,看看数据库是否可连接
数据库是可以连接上的,我用其他程序试了,这个测试程序就是普通的java应用程序,没有和其他框架相结合,而且没有其他的配置文件了,只有c3p0.properties这个文件,不知道是不是还有其他地方没注意到?
--- 共有 1 条评论 ---
红薯c3p0 在启动的时候会答应配置信息,打印出来的信息跟配置里的信息一致吗? 6年前 回复

引用来自“我叫弘毅”的答案

引用来自“红薯”的答案

从错误信息来看跟配置和代码无关了,看看数据库是否可连接
数据库是可以连接上的,我用其他程序试了,这个测试程序就是普通的java应用程序,没有和其他框架相结合,而且没有其他的配置文件了,只有c3p0.properties这个文件,不知道是不是还有其他地方没注意到?

C3P0启动?!我是直接在程序里包含c3p0的一个jar包,然后就写配置文件的内容,再写程序代码,直接点击运行控制台就打印上面的信息了,没看到控制台输出配置信息啊?!难道是我用c3p0的方式不对?

引用来自“1073710317”的答案

原来是c3p0.properties这里面的部分配置信息没起到作用,困惑中。。。。

什么信息,我也遇到这个问题。

<property name="hibernate.c3p0.min_size">5</property>  
   <property name="hibernate.c3p0.max_size">20</property>  
   <property name="hibernate.c3p0.timeout">1800</property>  
   <property name="hibernate.c3p0.max_statements">50</property>  
   <property name="hibernate.c3p0.testConnectionOnCheckout">true</property> 

顶部