반응형
DBCP 속성 설명
( BasicDataSource, ManagedBasicDataSource 구성 매개 변수 )
속성 | 설명 |
initialSize | 초기에 생성되는 커넥션의 개수 |
maxActive | 커넥션 풀이 제공할 최대 커넥션의 개수 |
whenExhaustedAction | 커넥션 풀에서 가져올 수 있는 커넥션이 없을 때 어떻게 동작할지를 지정한다. - 1 일 경우 maxWait 속성에서 지정한 시간만큼 커넥션을 구할 때 까지 기다리며, - 0 일 경우 에러를 발생시킨다. - 2 일 경우에는 일시적으로 커넥션을 생성해서 사용한다 |
maxWait | 풀에 커넥션에 존재하지 않을 때, 커넥션이 다시 풀에 리턴 될 때까지 대기시간, 1/1000초 단위, -1일 경우 무한대기 |
maxIdle | 사용되지 않고 풀에 저장될 수 있는 최대 커넥션 개수, 음수일 경우 제한이 없다. 풀 반환 시점에 이미 maxIdle 이상의 커넥션이 풀에 있을 경우 풀에 반환되지 않고 해당 커넥션은 close 된다. |
minIdle | 사용되지 않고 풀에 저장될 수 있는 최소 커넥션 개수, 음수일 경우 제한이 없다. Evictor가 실행 될 때 유효한 값이다. |
testOnBorrow | true 일 경우 커넥션 풀에서 커넥션을 가져올 때 커넥션이 유효한지의 여부 검사 |
testOnReturn | true 일 경우 커넥션 풀에서 커넥션을 반환할 때 커넥션이 유효한지의 여부 검사 |
testWhileIdle | true 일 경우 Evictor 가 비활성화 커넥션을 추출할 때 커넥션이 유효한지의 여부를 검사해서 유효하지 않은 커넥션은 풀에서 제거 |
validationQuery | 커넥션이 유효한지 유무를 확인할 때 사용할 쿼리 MYSQL : select 1 MSSQL : select 1 postgreSQL : select 1 ORACLE : select 1 from dual |
timeBetweenEvictionRunsMillis | 설정된 주기를 통해 Evictor(유효하지 않는 커넥션/정의된 시간이 만료된 커넥션을 풀에서 제거) 쓰레드를 수행한다. 양수가 아닌경우 실행되지 않는다. |
minEvictableIdleTimeMillis | 사용되지 않은 커넥션을 추출할 때 이 속성에서 지정한 시간 이상 비활성화 상태인 커넥션만 추출한다. 양수가 아닌 경우 비활성화된 시간으로 풀에서 제거 안됨. 1/1000초 단위 |
removeAbandonedTimeout | 반납이 안되고 있는 커넥션 삭제 시의 타임아웃 |
removeAbandoned | 반납이 안되고 있는 커넥션 삭제 유무 (커넥션 누수) |
logAbandoned | 반납이 안되고 있는 커넥션을 생성한 코드 위치 로그생성 여부 |
defaultAutoCommit | 생성된 커넥션의 기본 auto commit 여부 |
defaultReadOnly | 생성된 커넥션의 기본 read-only 여부 |
defaultTransactionIsolation | 생성된 커넥션의 기본 트랜잭션 격리 수준 |
defaultCatalog | 생성된 커넥션의 기본 카탈로그 |
spring bean 등록시 example
<bean id="dataSource" class="org.apache.commons.dbcp.ManagedBasicDataSource" destroy-method="close">
<property name="driverClassName" value=""/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/>
<property name="initialSize" value="10"/>
<property name="maxActive" value="20"/>
<property name="maxIdle" value="10" />
<property name="minIdle" value="5" />
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="180000"/>
<property name="minEvictableIdleTimeMillis" value="300000"/>
<property name="validationQuery" value="select 1" />
</bean>
참고 :
commons.apache.org/proper/commons-dbcp/configuration.html
'DB' 카테고리의 다른 글
oracle 21c XE 다운로드 및 설치 (0) | 2022.02.23 |
---|---|
oracle 스키마명 없이 조회하기 ( synonym ) (0) | 2021.02.24 |
댓글