数据库连接池中的maxIdle,MaxActive,maxWait参数

name:表示你的连接池的名称也就是你要访问连接池的地址

auth:是连接池管理权属性,Container表示容器管理

type:是对象的类型

driverClassName:是数据库驱动的名称

url:是数据库的地址

username:是登陆数据库的用户名

password:是登陆数据库的密码

 

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

*maxActive:最大连接数据库连接数,设 0 为没有限制
*maxIdle:最大等待连接中的数量,设 0 为没有限制
*maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息。一般把maxActive设置成可能的并发量就行了

 

maxActive、maxIdle和maxWait参数:

 

maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连接。

maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。

MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可取值9000,表示9秒后超时。

 

例如:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql://localhost:3306/myoa">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="1"></property>
		
		<!-- BasicDataSource提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性,
			以便Spring容器关闭时,数据源能够正常关闭。除以上必须的数据源属性外,还有一些常用的属性: 
			defaultAutoCommit:设置从数据源中返回的连接是否采用自动提交机制,默认值为 true; 
			defaultReadOnly:设置数据源是否仅能执行只读操作,默认值为 false;
			maxActive:最大连接数据库连接数,设置为0时,表示没有限制;
		  	maxIdle:最大等待连接中的数量,设置为0时,表示没有限制; 
			maxWait:最大等待秒数,单位为毫秒, 超过时间会报出错误信息; 
			validationQuery:用于验证连接是否成功的查询SQL语句,SQL语句必须至少要返回一行数据, 
			如你可以简单地设置为:“select count(*) from user”; 
			removeAbandoned:是否自我中断,默认是 false;
			removeAbandonedTimeout:几秒后数据连接会自动断开,在removeAbandoned为true,提供该值; 
			logAbandoned:是否记录中断事件,默认为 false. -->
			
		<property name="maxActive" value="100" />
		<property name="maxIdle" value="20" />
		<property name="maxWait" value="3000" />
		<property name="removeAbandoned" value="true" />
		<property name="removeAbandonedTimeout" value="60" />
		<property name="logAbandoned" value="true" />
	</bean>

  

posted @ 2013-02-04 16:33  hejiajunsh  阅读(11837)  评论(0编辑  收藏  举报