응용개발

tomcat 5.5 버전 이상에서 dbcp(커넥션 풀링) 설정법

by admin posted Nov 21, 2008
안녕하세요. 처음으로 글 남깁니다.

회사 연구차 큐브리드를 아래와 같은 서버(테스트)에 설치했습니다.

   * 프로세서: 펜티엄3 550MHz
   * 메모리: 256MB
   * OS : 리눅스 레드햇 페도라 6
   * WAS : tomcat 5.5 (yum의 core repository)
   * CUBRID 6.6

오랜만에 리눅스를 만져보니 이제 리눅스도
repository를 이용한 공식 패키지 형태의 배포가 이루어지더군요. 반가왔습니다.
그래서 더욱 큐브리드의 컴파일형태 안내가 야속하게 느껴졌습니다. ^^;

본 웹사이트에서 배포하는 [Tomcat에서 큐브리드 사용하기]을 숙지했다고 가정하고 설명합니다.



문제가 되는 부분은 server.xml 의 Resource 태그 형식입니다.
Tomcat 5.5 부터는 Resource파라미터를 따로 분리하지 않고 하나로 쓴다고 합니다.

자꾸만 tomcat이 가동될 때 아래 클래스를 못 찾는다고 에러가 나서 발견했습니다.
org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

이유는 Resource 태그 안에 있어야할 factory속성을 못 찾기 때문에
아파치 커먼스 통합 이전 버전의 dbcp클래스를 사용하려고 하는 것으로 보입니다.



아래와 같이 Resource 태그를 사용하면
Tomcat 5.5 에서 서버 접속과 쿼리가 잘 작동합니다.

<Resource name="jdbc/CUBRIDDS" auth="Container" type="javax.sql.DataSource"
   factory="org.apache.commons.dbcp.BasicDataSourceFactory"
   driverClassName="cubrid.jdbc.driver.CUBRIDDriver"
   url="jdbc:cubrid:localhost:33000:subway:::"
   username="" password=""
   maxActive="10"
   maxIdle="10"
   maxWait="-1"
   removeAbandoned="true"
   removeAbandonedTimeout="60"
   logAbandoned="true"/>



구글링의 위력을 실감했던 디버깅(?) 이었습니다.
수고하십시오.




/* ------------------------- 추가 ----------------------------- */

tomcat 구동 시에도 에러 메시지를 안 보게 하려면
tomcat conf 디렉토리에 있는 tomcat5.conf 에 아래 코드를 추가하시면 됩니다.

JAVA_OPTS="-Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory"

Articles

5 6 7 8 9 10 11 12 13 14