Eclipse使用c3p0连接池出现A ResourcePool could not acquire a resource from its primary factory or sour错误
出现的问题
今天写的项目中有一个注册的功能,然后在使用c3p0连接池连接数据库时,就给我抛了一个A ResourcePool could not acquire a resource from its primary factory or sour错误,然后我打印了获取的连接对象,发现连接对象为null。
这个时候下意识的会去检查c3p0的配置文件c3p0-config.xml,因为没有设置过多的参数,因此一眼就能看出来有没有配置错,很明显没有参数的配置问题,此时的百思不得其解,因为这个配置文件用了很久也没动过,JdbcHandler也是写了n遍了,之前也从来没有出过错。。。 就在我要放弃连接池准备手动连接的时候,我想起来default-config是默认配置,还有可以使用命名配置name-config,也没抱太大希望,随手试了一下,结果他就成功获取了连接。。。
创建连接池
1.无参创建,调用默认配置default-config
//定义数据库连接池
public static ComboPooledDataSource dataSource = new ComboPooledDataSource();
2.带参创建,调用命名配置name-config
//定义数据库连接池
public static ComboPooledDataSource dataSource = new ComboPooledDataSource("javaweb");
关于c3p0数据库连接池的创建,也就这两种方法,有参和无参,同时对应着两种配置,试了很久发现默认配置在我这始终连不上数据库,由于之前一直使用的idea,所以我又用idea尝试了一下,idea还是可以用的,那可能就是eclipse开发平台本身的原因,具体原因我也没查到,如果有遇到相同问题的,可以尝试一下直接使用命名配置。