본문 바로가기

Web/Spring

[Spring] DataSource설정

<bean id="DataSource01" 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="maxActive" value="30"/>
        <property name="maxIdle" value="10"/>
        <property name="maxWait" value="1000"/>
        <property name="defaultAutoCommit" value="true"/>
</bean>

 

  • initialSize : 초기에 생성될 커넥션개수
  • maxActive : 커넥션풀이 제공할 최대 커넥션개수
  • maxIdle : 사용되지 않고 풀에 저장될수 있는 최대 커넥션개수, 음수일경우 제한없음.
  • minIdle : 사용되지 않고 풀에 저장될수 있는 최소 커넥션개수
  • maxWait : 커넥션이 풀에 다시 리턴되기까지 대기시간 [1/1000초단위], -1일경우 무한대기
  • minEvictableIdleTimeMillis : 사용되지 않은 커넥션을 추출할 때 이 속성에서 지정한 시간이상 비활성화 상태인 커넥션만 추출, 양수가 아닌 경우 비활성화 된 시간으로는 풀에서 제거 안됨
  • timeBetweenEvictionRunsMillis : 사용되지 않은 커넥션을 추출하는 쓰레드의 실행주기를 설정, 양수가 아닌 경우 실행되지 않음
  • numTestsPerEvictionRun : 사용되지 않은 커넥션을 몇 개 검사할지 지정
  • testOnBorrow : true일 경우는 커넥션풀에서 커넥션을 가져올 때 커넥션이 유효한지 검사
  • testOnReturn : true일 경우는 커넥션풀에 커넥션을 반환할 때 커넥션이 유효한지 검사
  • testWhileIdle : true일 경우는 비횔성화 커넥션을 추출할 때 커넥션이 유효한지 검사해서 유효하지 않은 커넥션은 풀에서 제거