달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
.. .. ..
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);
    }


설정

initialSize
초기에 생성되는 커넥션의 갯수

maxActive
커넥션 풀이 제공할 최대 커넥션의 개수

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

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

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

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

numTestsPerEvictionRund
사용되지 않는 커넥션을 몇 개 검사할지 지정

testOnBorrow
true 일 경우 커넥션 풀에서 커넥션을 가져올 때 커넥션이 유효한지의 여부 검사

testOnReturn
true 일 경우 커넥션 풀에서 커넥션을 반환할 때 커넥션이 유효한지의 여부 검사

testWhileIdel
true 일 경우 비활성화 커넥션을 추출할때 커넥션이 유효한지의 여부를 검사해서 유효하지 않은 커넥션은 풀에서 제거

poolPreparedStatements
PreparedStatements를 풀링 할것인지 결정한다.

PreparedStatement란 이처럼 바인드 변수의 사용을 가능케 하기 위해 사용됩니다. 따라서 동일한 문장(위처럼 값만 바뀐다거나 할때)이 여러번 연속적으로 실행되거나 비교적연속적(라이브러리 캐쉬에 있는 실행계획이 LRU에 의해 메모리에서 삭제되기 직전에 다시 실행되기만 한다면)으로 실행된다면 월등한 성능향상을 얻을 수 있습니다.
그러므로 꼭 사용하도록 설정한다 ( true로 설정해준다.)
 - 사견으로 이 설정을 해주고 해주지 않은 차이는 약 2.2배의 성능 향상의 차이가 있었다.)

'I.lib() > I.lib(iBatis)' 카테고리의 다른 글

Mybatis 설정  (0) 2013.04.01
DBCP 와 iBatis 를 이용한 connection pool  (0) 2013.03.19
Ibatis settings 요소  (1) 2010.04.12
[IBatis] 결과가 NULL 일때 대처방법.  (0) 2010.03.23
iBatis 강의 자료.  (0) 2010.02.24
.
:
Posted by .07274.