connection pool 설정 관련
- 작성자 :
- 이*
- 작성일 :
- 2016-04-03 20:26:11
- 조회수 :
- 2,083
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
commons dbcp2와 tomcat jdbc connection pool 중 어떤것이 더 효율적인지 문의 드립니다.
또한, dbcp 1.x 에서 dbcp 2.x로 업데이트 된 후 달라진 점들도 궁금합니다.
가능하시다면 상세한 설명 부탁 드립니다.
감사합니다.
또한, dbcp 1.x 에서 dbcp 2.x로 업데이트 된 후 달라진 점들도 궁금합니다.
가능하시다면 상세한 설명 부탁 드립니다.
감사합니다.
A
이원님 안녕하세요.
표준프레임워크센터입니다.
가장 효율적인것은 WAS에 맞는 connection을 사용하시는것이 좋을 것 같습니다.
웹 애플리케이션 서버로 상용 제품을 사용하신다면 보통 제조사에서 제공하는 커넥션 풀 구현체를 사용합니다.
tomcat을 사용하신다면 dbcp를 사용하는 경우가 있는데요. dbcp 버전에 따른 사용환경은 아래와 같습니다.
Commons DBCP 1.3 (JDBC 3) : JDK 1.4~1.5
Commons DBCP 1.4 (JDBC 4) : JDK 6
Commons DBCP 2 (JDBC 4.1) : JDK 7
DBCP 1 버전에서
Connection.getMetaData() 메서드를 호출한 다음 커넥션을 닫지 않았을 때 메모리 누수가 발생하는 문제가 있었는데
Commons DBCP 1.4.1에서는 패치가 되었습니다 다만 아직 정식버전이 배포되지 않았네요.
JDK 6을 쓴다면 Commons DBCP 1.4.1-SNAPSHOT 버전에 추가된 커밋을 분석해 봐야 할것 같습니다.
[참고]https://issues.apache.org/jira/browse/DBCP-330
JDK 7부터 사용할 수 있는 Commons DBCP 2에는 Commons DBCP 1.4.1의 패치가 반영됐고, 추가개발도 활발히 진행되고 있어
가능한 DBCP 2를 사용하는것이 좋을것 같습니다.
보다 자세한 내용은 http://commons.apache.org/proper/commons-dbcp/ 를 참고바랍니다.
좋은하루되세요.
표준프레임워크센터입니다.
가장 효율적인것은 WAS에 맞는 connection을 사용하시는것이 좋을 것 같습니다.
웹 애플리케이션 서버로 상용 제품을 사용하신다면 보통 제조사에서 제공하는 커넥션 풀 구현체를 사용합니다.
tomcat을 사용하신다면 dbcp를 사용하는 경우가 있는데요. dbcp 버전에 따른 사용환경은 아래와 같습니다.
Commons DBCP 1.3 (JDBC 3) : JDK 1.4~1.5
Commons DBCP 1.4 (JDBC 4) : JDK 6
Commons DBCP 2 (JDBC 4.1) : JDK 7
DBCP 1 버전에서
Connection.getMetaData() 메서드를 호출한 다음 커넥션을 닫지 않았을 때 메모리 누수가 발생하는 문제가 있었는데
Commons DBCP 1.4.1에서는 패치가 되었습니다 다만 아직 정식버전이 배포되지 않았네요.
JDK 6을 쓴다면 Commons DBCP 1.4.1-SNAPSHOT 버전에 추가된 커밋을 분석해 봐야 할것 같습니다.
[참고]https://issues.apache.org/jira/browse/DBCP-330
JDK 7부터 사용할 수 있는 Commons DBCP 2에는 Commons DBCP 1.4.1의 패치가 반영됐고, 추가개발도 활발히 진행되고 있어
가능한 DBCP 2를 사용하는것이 좋을것 같습니다.
보다 자세한 내용은 http://commons.apache.org/proper/commons-dbcp/ 를 참고바랍니다.
좋은하루되세요.