applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "">
<beans>
<!-- 定义数据源Bean,使用C3P0数据源实现 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <!-- 指定连接数据库的驱动 --> <property name="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <!-- 指定连接数据库的URL --> <property name="jdbcUrl" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=SearchGen"/> <!-- 指定连接数据库的用户名 --> <property name="user" value="sa"/> <!-- 指定连接数据库的密码 --> <property name="password" value="123456"/> <!-- 指定连接数据库连接池的最大连接数 --> <property name="maxPoolSize" value="40"/> <!-- 指定连接数据库连接池的最小连接数 --> <property name="minPoolSize" value="1"/> <!-- 指定连接数据库连接池的初始化连接数 --> <property name="initialPoolSize" value="1"/> <!-- 指定连接数据库连接池的连接的最大空闲时间 --> <property name="maxIdleTime" value="20"/>
</bean> ...............
</beans>
|
问题:当连续在一个方法中保存的数据总数超过了15或者系统运行一段时间时;系统崩溃;Tomcat频繁死掉
分析:Spring分别配置了dbcp和c3p0两个连接池,默认情况下均无法自动释放连接!需要手动释放;spring配置c3p0时,经常出现异常现象,最好换成dbcp或proxool
修改后的applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "">
<beans> <!-- Choose the dialect that matches your "dataSource" definition --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> </property> <property name="url"> <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=SearchGen</value> </property> <property name="username"> <value>sa</value> </property> <property name="password"> <value>123456</value> </property> <property name="maxActive"> <value>500</value> </property> <property name="maxIdle"> <value>1</value> </property> <property name="maxWait"> <value>120000</value> </property> <property name="defaultAutoCommit"> <value>true</value> </property> </bean>
|
阅读(2341) | 评论(0) | 转发(0) |