问题描述
最近用s2sh做了个项目,使用了c3p0连接池,但是当更改连接池的URL之后,myeclipse部署项目到Tomcat,访问操作的还是原来的数据库,是不是c3p0配置的有问题?求解!c3p0.properties连接池配置文件内容:c3p0.driverClass=com.mysql.jdbc.Driverc3p0.user=******c3p0.password=******c3p0.jdbcUrl=jdbc:mysql://localhost:3306/******?useUnicode=true&characterEncoding=utf-8c3p0.minPoolSize=1c3p0.maxPoolSize=50c3p0.initialPoolSize=5c3p0.maxIdleTime=25000c3p0.acquireIncrement=5c3p0.acquireRetryAttempts=30c3p0.acquireRetryDelay=1000c3p0.testConnectionOnCheckin=truec3p0.automaticTestTable=lxl_c3p0c3p0.idleConnectionTestPeriod=18000c3p0.checkoutTimeout=500下面是spring配置文件的部分内容<beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><propertyname="location"><value>classpath:c3p0.properties</value></property></bean><beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><propertyname="driverClass"><value>${c3p0.driverClass}</value></property><propertyname="jdbcUrl"><value>${c3p0.jdbcUrl}</value></property><propertyname="user"><value>${c3p0.user}</value></property><propertyname="password"><value>${c3p0.password}</value></property><propertyname="minPoolSize"><value>${c3p0.minPoolSize}</value></property><propertyname="maxPoolSize"><value>${c3p0.maxPoolSize}</value></property><propertyname="initialPoolSize"><value>${c3p0.initialPoolSize}</value></property><propertyname="maxIdleTime"><value>${c3p0.maxIdleTime}</value></property><propertyname="acquireIncrement"><value>${c3p0.acquireIncrement}</value></property><propertyname="acquireRetryAttempts"><value>${c3p0.acquireRetryAttempts}</value></property><propertyname="acquireRetryDelay"><value>${c3p0.acquireRetryDelay}</value></property><propertyname="testConnectionOnCheckin"><value>${c3p0.testConnectionOnCheckin}</value></property><propertyname="automaticTestTable"><value>${c3p0.automaticTestTable}</value></property><propertyname="idleConnectionTestPeriod"><value>${c3p0.idleConnectionTestPeriod}</value></property><propertyname="checkoutTimeout"><value>${c3p0.checkoutTimeout}</value></property></bean>
解决方案
解决方案二:
应该是缓存问题把缓存清空一下然后再重新编译看看
解决方案三:
引用1楼luman2002的回复:
应该是缓存问题把缓存清空一下然后再重新编译看看
试过了,IE缓存,都清理了,还用360清理痕迹和垃圾了
解决方案四:
怎么可能呢,大白天的见鬼了吗?
解决方案五:
引用3楼zxingchao2009的回复:
怎么可能呢,大白天的见鬼了吗?
这问题我也迷茫,在项目的查询方法里打印了一下数据库连接的URL显示的是改后的URL,但是访问的是原来的数据库,纠结。。。
解决方案六:
这问题非常奇怪,但是可以确定是和c3p0连接池有关
解决方案七:
今天还没人结贴啊?是不是分低了!
解决方案八:
顺便问一下,还原数据库后,会断开连接,必须手动重启tomcat才能重新运行项目,c3p0里面怎么配置不用重启tomcat就能自动连接啊???
解决方案九:
你配置的时候不用那么费电。光这一句就可以了:<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"/>其会自动加载classpath下c3p0.properties文件的,这个bean中的属于用不着你一个一个地去写。
解决方案十:
引用8楼bao110908的回复:
你配置的时候不用那么费电。光这一句就可以了:<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"/>其会自动加载classpath下c3p0.properties文件的,这个bean中的属于用不着你一个一个地去写。
问题已经解决了,多谢关注!这里我要解释一下,因为我这个项目要用到两个不同的c3p0配置文件,所以需要加入propertyConfigurer来指定。
解决方案十一:
引用7楼zbzhangzi的回复:
顺便问一下,还原数据库后,会断开连接,必须手动重启tomcat才能重新运行项目,c3p0里面怎么配置不用重启tomcat就能自动连接啊???
还原数据库,数据库会单方面的清楚连接,这里测试一下连接的有效性,并重新连接就可。建议用idleConnectionTestPeriod