- 자카르타 DBCP 는 커넥션 풀 중의 하나이다.
- 커넥션 풀은 데이터베이스와 연결된 커넥션 객체를 미리 생성하여 풀에 저장해 두었다가 필요할 때마다 풀에 접근하여 커넥션 객체를 사용하고, 사용이 끝나면 다시 반환하는 것을 말한다.
- 커넥션 풀은 데이터베이스와 연결된 커넥션 객체를 미리 생성하여 풀에 저장해 두었다가 필요할 때마다 풀에 접근하여 커넥션 객체를 사용하고, 사용이 끝나면 다시 반환하는 것을 말한다.
- 라이브러리 다운로드 http://commons.apache.org/ 사이트에서 다운로드
※ WAS 에 설정하는 방법은 안좋다. WAS가 바뀌면 다 바꿔야 된다. 그리고 WAS를 띄우지 않으면 테스트 자체가 불가능해진다. 하지만 was에 설정해야 되는 경우가 온다. 그래서 인터페이스로 만들어야 한다.
1. library 파일을 lib 폴더에 복사해 넣는다.
commons-dbcp-1.2.2.jar, commons-io-1.3.2.jar, commons-pool-1.3.jar
2. db.jocl(jocl 확장자 명을 가지는 파일 이름은 상관없음) 파일을 src 폴더 아래에 만든다.
<object class="org.apache.commons.dbcp.PoolableConnectionFactory"
xmlns="http://apache.org/xml/xmlns/jakarta/commons/jocl">
<object class="org.apache.commons.dbcp.DriverManagerConnectionFactory">
<string value="jdbc:oracle:thin:@127.0.0.1:1521:XE" />
<string value="user01" />
<string value="user01" />
</object>
<object class="org.apache.commons.pool.impl.GenericObjectPool">
<object class="org.apache.commons.pool.PoolableObjectFactory" null="true" />
<int value="10" />
<byte value="1" />
<long value="10000" />
<int value="10" />
<int value="3" />
<boolean value="true" />
<boolean value="true" />
<long value="600000" />
<int value="5" />
<long value="3600000" />
<boolean value="true" />
</object>
<object class="org.apache.commons.pool.impl.GenericKeyedObjectPoolFactory"
null="true" />
<string null="true" />
<boolean value="false" />
<boolean value="true" />
</object>
xmlns="http://apache.org/xml/xmlns/jakarta/commons/jocl">
<object class="org.apache.commons.dbcp.DriverManagerConnectionFactory">
<string value="jdbc:oracle:thin:@127.0.0.1:1521:XE" />
<string value="user01" />
<string value="user01" />
</object>
<object class="org.apache.commons.pool.impl.GenericObjectPool">
<object class="org.apache.commons.pool.PoolableObjectFactory" null="true" />
<int value="10" />
<byte value="1" />
<long value="10000" />
<int value="10" />
<int value="3" />
<boolean value="true" />
<boolean value="true" />
<long value="600000" />
<int value="5" />
<long value="3600000" />
<boolean value="true" />
</object>
<object class="org.apache.commons.pool.impl.GenericKeyedObjectPoolFactory"
null="true" />
<string null="true" />
<boolean value="false" />
<boolean value="true" />
</object>
3. Class 파일에서 설정을 잡아준다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class BasicDAO {
private static final String BASIC_DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DRIVER = "org.apache.commons.dbcp.PoolingDriver";
private static final String URL = "jdbc:apache:commons:dbcp:/db"; //db는 설정 파일의 이름 나중에 설정을 바꾸고 싶으면 다른 걸 만들어서 넣는다.
static{
try {
Class.forName(BASIC_DRIVER);
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public Connection getConnection() throws SQLException{
Connection con = null;
con = DriverManager.getConnection(URL);
return con;
}
}
이렇게 설정을 끝내고 테스트를 통해 같은 객체를 만들어 내는지 확인한다.
'JavaEE' 카테고리의 다른 글
server.xml 의 tomcatThreadPool 과 커넥션 풀의 속성에서 maxActive의 관계 (0) | 2009.08.29 |
---|---|
eclipse에 WAS(Tomcat) 추가하기. (0) | 2009.08.28 |
include 지시어와 include 액션 (0) | 2009.08.27 |
Cookie를 사용한 게시물 조회 올리기 방지 방법. (0) | 2009.08.27 |
Session의 사용법 (0) | 2009.08.26 |
Cookie와 Session (0) | 2009.08.25 |
인터페이스와 상속을 사용하여 DAO 처리 하기. (0) | 2009.08.20 |
PreparedStatement 로 사용할 쿼리 쉽게 만드는 방법 (0) | 2009.08.19 |
WAS 셋팅 하기. (0) | 2009.08.15 |
JUnit 사용을 사용한 개발. (0) | 2009.08.13 |