1.使用jdbc连接,每次使用完毕需要关闭连接。
2.使用数据库连接池就会方便很多,但是如果参数配置不对,也会引起mysql连接数不够,导致mysql挂掉,基本原理是:不使用的连接数及时回收回来,而不是一直等待的闲置浪费。
<!-- 数据源以及连接池 -->
<bean id="dataSourceOri" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="user" value="${dataSource.username}" />
<property name="password" value="${dataSource.password}" />
<property name="driver" value="${dataSource.driverClassName}" />
<property name="driverUrl" value="${dataSource.url}" />
<property name="houseKeepingSleepTime" value="90000" />
<property name="maximumActiveTime" value="900000" /><!-- 线程活动最大限制时间 15分钟 -->
<property name="maximumConnectionLifetime" value="300000"/>
<property name="trace" value="true" />
<property name="maximumConnectionCount" value="450" />
<property name="prototypeCount" value="10" />
<property name="simultaneousBuildThrottle" value="60" />
<property name="houseKeepingTestSql" value="select CURRENT_DATE" />
<!-- <property name="testBeforeUse" value="true" /> -->
</bean>
重点是:maximumConnectionLifetime 5分钟回收