2014-04-17 2 views
3

나는 1 년 동안 Hibernate ORM을 사용했고 몇 달 동안 c3p0을 사용했다. 웹에서 읽은 적이 있습니다. c3p0은 JDBC 연결 및 명령문 풀링 라이브러리로서 JDBC 드라이버를 향상시킵니다.c3p0이 더 깊은 방법은 무엇입니까?

하지만 정확하게 알고 싶습니다.

다음은 JDBC-ODBC 브리지의 회로도입니다.

enter image description here

이제 C3P0는 JDBC API를 대체?

또는 전통적인 JDBC API 클래스가 아닌 일부 향상된 클래스를 사용하여 JDBC API와 함께 작동합니까?

&이 설계도 또는이 회로도에 속하는 곳이 어디에도 없습니까?

C3P0에 대해 자세히 알아보십시오.

+0

설명서가 명확하지 않습니까? http://www.mchange.com/projects/c3p0/ –

+0

네, 그 부분의 소개 부분을 읽었습니다. 그리고 저는이 질문에서도 언급했습니다. 그러나 jdbc 아키텍처에서 c3p0의 실제 존재를 이해할 수는 없습니다. – Akshat

답변

7

게시 한 그림은 오늘날 대부분의 레거시 유형 1 JDBC 드라이버와 관련이 있습니다. 보다 일반적으로 그림은 C3P0을 이해하는 것과 관련이없는 하위 수준의 세부 사항을 설명합니다.

C3P0은 개념적으로 원시 JDBC DriverManager 바로 위에 위치하는 DataSource API의 구현입니다. DataSource의 주요 기능은 표준 JDBC Connection을 가져 와서 마지막에 릴리스하는 것입니다.

+0

"원시 JDBC DriverManager 바로 위에 있습니다". 그래서 JDBC API를 대체하거나 데이터베이스 연결과 같이 JDBC API의 일부분을 향상시킬 수 있습니까? 그리고 JDBC API는 여전히 다른 작업을 수행합니까? – Akshat

+0

예, 데이터 소스에서 연결이 검색되지만 그때부터는 모두 표준 JDBC입니다. –

0

실제로 c3p0은 우리가 우리의 최대 절전 모드 응용 프로그램을 실행할 때 우리가 사용할 수있는 연결 개체의 수인 "Connection Pool Size 20"이라는 줄이 콘솔에서 볼 수있는 최대 절전 모드에서 사용하는 jar 파일입니다. 5 개의 연결 만 사용하면 15 개의 연결 개체가 낭비되고 업계의 "연결 개체"는 매우 값 비싼 리소스이므로 c3p0 jar 파일을 사용하는 응용 프로그램에 필요할 수있는 연결 개체의 수를 정의해야합니다.

관련 문제