forked from springside/springside4
-
Notifications
You must be signed in to change notification settings - Fork 0
Datasource
springside edited this page Sep 14, 2012
·
1 revision
##Apache Commons DBCP 老牌DataSource用惯了。 一般配置如下,高级配置看DBCP自带文档
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- Connection Pooling Info -->
<property name="maxActive" value="${dbcp.maxActive}" />
<property name="maxIdle" value="${dbcp.maxIdle}" />
<property name="defaultAutoCommit" value="false" />
<!-- 连接Idle一个小时后超时 -->
<property name="timeBetweenEvictionRunsMillis" value="3600000" />
<property name="minEvictableIdleTimeMillis" value="3600000" />
</bean>
defaultAutoCommit=false是必须设置的,maxActive和maxIdle如果不想依赖默认值还是自己设置一下好。最后是Idle长时间后要主动断掉连接,否则MySQL下会出问题。
bean定义里的destroy-method="close"也很重要。
在某些场合,简简单单不想使用连接池也不想引入依赖包,可以直接使用Spring自带的DataSource
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>