c3p0的机制是当系统与数据库连接超过最大数以后,连接池就会等待之前申请的连接被释放,如果超过指定时间就会报获取连接超时异常。这个超时时间,可以用 setCheckoutTimeout() 来进行设置。
楼主可以设置一个超时时间

解决方案 »

  1.   

    Spring配置文件中,在配置c3p0里假如
    <property name="checkoutTimeout">100</property> 当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出 
    SQLException,如设为0则无限期等待。单位毫秒。
      

  2.   


    现在倒是不会等待了,但是获取到的数据为空。错误提示:com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@d853b3 -- timeout at awaitAvailable()