자바(Java)/JAVA 2EE

자카르타(Jakarta) DBCP 사용

본클라쓰 2009. 12. 20. 17:20

 

 자카르타 DBCP API 를 사용해서 커넥션풀을 사용하기 위해서는 다음의 단계를 거쳐야 한다.

  1. 자카르타 DBCP API jar 파일 설치
  2. JNDI 리소스 사용 설정(web.xml에 설정)
  3. 서버에 컨넥션풀 등록

 

 

 

1. DBCP 관련 jar 파일 설치

 

다운로드 사이트 : http://commons.apache.org/ 

 

 Collections, DBCP, Pool 항목을 클릭해서 zip 파일을 다운로드 받는다. 받은 파일의 압축을 해제한 후 해당 jar 파일을 JDK/lib 디렉토리와 톰캣의 common/lib 디렉토리에 복사한다.

 

 

2. web.xml 설정

 

<resource-ref>

    <description>DBCP</description>

    <res-ref-name>server.xml 에서 name 속성값</res-ref-name>

    <res-type>javax.sql.DataSource</res-type>

    <res-auth>Conatiner</res-auth> 

</resource-ref> 

 

 

3. DBCP 관한 정보 설정 - server.xml

 

 서버에 컨넥션 풀을 설정하는 방법은 서버에 따라 다르다. 컨넥션 풀을 설정하기 위해선 해당 서버에서 확인 후 설정해야 한다. 아래 방법은 일반적인 서버 설정 방법이다. 톰캣 홈/conf 에 server.xml 파일을 편집기를 열어 <Resource> 부분에 다음의 태그를 추가한다. </GlobalNamingResource> 태그위에 작성하면 된다.

 

<Resource name="web.xml 에서 부를 이름"

                 auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"

                 loginTimeout="10" maxWait="5000" username="" password="" testOnBorrow="true"

                 url="jdbc:mysql://localhost:3306/디비명"

/> 

 

 이클립스를 개발 툴로 사용한다면 이클립스에도 다음과 같은 내용을 추가한다.  Servers-Tomcat 디렉토리 안에 있는 server.xml 파일에 작성한다. 이 때 <Context> 태그에 포함시켜 작성한다.

 

<Resource name="web.xml 에서 부를 이름"

                 auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"

                 loginTimeout="10" maxWait="5000" username="" password="" testOnBorrow="true"

                 url="jdbc:mysql://localhost:3306/디비명"

/> 

 

 

4. 컨넥션 얻기

 

Connection conn = null;

 

Context initContext = new InitialContext();

Context envCtx = (Context) initCtx.lookup("java:comp/env");

DataSource ds = (DataSource)envCtx.lookup("name 속성값");

conn = ds.getConnection();