본문 바로가기

OpenSource/Spring

Spring DataSource설정 (DB설정)

<bean id="qcsDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

        <property name="driverClassName" value="${qcs.jdbc.driverClassName}"/>

        <property name="url" value="${qcs.jdbc.url}"/>

        <property name="username" value="${qcs.jdbc.username}"/>

        <property name="password" value="${qcs.jdbc.password}"/>

        <property name="maxActive" value="30"/>

        <property name="maxIdle" value="10"/>

        <property name="maxWait" value="1000"/>

        <property name="defaultAutoCommit" value="true"/>

</bean>


l  initialSize : 초기에 생성될 커넥션개수.

l  maxActive : 커넥션풀이 제공할 최대 커넥션개수.

l  maxIdle : 사용되지 않고 풀에 저장될수 있는 최대 커넥션개수, 음수일경우 제한없음.

l  minIdle : 사용되지 않고 풀에 저장될수 있는 최소 커넥션개수.

l  maxWait : 풀에 커넥션이 존재하지 않을때, 커넥션이 풀에 다시 리턴되기까지 대기시간. 1/1000초단위, -1일경우 무한대기.

l  minEvictableIdleTimeMillis : 사용되지 않은 커넥션을 추출할 때, 이 속성에서 지정한 시간이상 비활성화 상태인 커넥션만 추출한다. 양수가 아닌 경우 비활성화 된 시간으로는 풀에서 제거 안됨.

l  timeBetweenEvictionRunsMillis : 사용되지 않은 커넥션을 추출하는 쓰레드의 실행주기를 설정. 양수가 아닌 경우 실행되지 않음.

l  numTestsPerEvictionRun : 사용되지 않은 커넥션을 몇 개 검사할지 지정.

l  testOnBorrow : true일 경우, 커넥션풀에서 커넥션을 가져올 경우, 커넥션이 유효한지 검사.

l  testOnReturn : true일 경우, 커넥션풀에 커넥션을 반환할 때, 커넥션이 유효한지 검사.

l  testWhileIdle : true일 경우, 비횔성화 커넥션을 추출할 때, 커넥션이 유효한지 검사해서 유효하지 않은 커넥션은 풀에서 제거.