Spring 中 dataSourse Setting 的问题
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
同上可能会出现一点问题
原因在于 BasicDataSource
如果看 BasicDataSource
public class BasicDataSource
implements DataSource
{
public BasicDataSource()
{
defaultAutoCommit = true;
defaultReadOnly = null;
defaultTransactionIsolation = -1;
defaultCatalog = null;
driverClassName = null;
maxActive = 8;
maxIdle = 8;
minIdle = 0;
initialSize = 0;
maxWait = -1L;
poolPreparedStatements = false;
maxOpenPreparedStatements = -1;
testOnBorrow = true;
testOnReturn = false;
timeBetweenEvictionRunsMillis = -1L;
numTestsPerEvictionRun = 3;
minEvictableIdleTimeMillis = 0x1b7740L;
testWhileIdle = false;
password = null;
url = null;
username = null;
validationQuery = null;
accessToUnderlyingConnectionAllowed = false;
restartNeeded = false;
connectionPool = null;
connectionProperties = new Properties();
dataSource = null;
logWriter = new PrintWriter(System.out);
}...
构造函数 maxIdle和 maxActive 值初始值是8 。
如果网站规模变大了之后会有问题出现
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxIdle" value="${jdbc.maxIdle}"/>
<property name="maxActive" value="${jdbc.maxActive}"/>
</bean>
还得做同上的操作