Connection Pool
데이터베이스와 연결된 커넥션을 미리 만들어서 풀(Pool) 속에 저장해두고 있다가,
필요할 때 커넥션을 가져다 쓰고 다시 풀에 반환하는 기능을 의미
커넥션 풀은 여러 속성을 이용하여 설정할 수 있다
maxActive: 커넥션 풀이 제공할 수 있는 커넥션의 갯수whenExhaustedAction: 커넥션 풀에서 가져올 수 있는 커넥션이 없을 때 어떻게 동작할 지를 설정하는 속성, 0일 경우 에러발생, 1일 경우 maxWait 속성에서 지정한 시간만큼 커넥션을 얻을 때까지 기다림, 2일 경우 일시적으로 커넥션을 생성해서 사용maxWait whenExhaustedAction 속성의 값이 1일 때 사용되는 대가시간을 지정, 단위 1/1000초, 0보다 작을 경우 무한대기maxIdle: 사용되지 않고 풀에 저장될 수 있는 최대 커넥션의 갯수(음수일 경우 제한 없음)minIdle: 사용되지 않고 풀에 저장될 수 있는 최소 커넥션의 갯수testOnBorrow: true일 경우 커넥션 풀에서 커넥션을 가져올 때 커넥션의 유효성 여부를 검사<Context>
<Resource
auth = "Container"
driverClassName = "oracle.jdbc.driver.OracleDriver"
url = "jdbc:oracle:thin:@localhost:1521:xe"
username = "test"
password = "1234"
name = "jdbc/Oracle11g"
type = "javax.sql.DataSource"
maxActive = "50"
maxWait = "1000"
/>
</Context>
Context 객체 생성lookup 메서드를 이용해서 매칭되는 커넥션을 찾는다DataSource.getConnection()을 이용해서 커넥션 확보