Sun Java System Application Server Enterprise Edition 8.1 2005Q2 관리 설명서

JDBC 자원 및 연결 풀 정보

JDBC 자원

데이터 저장과 구성 및 검색을 위해 대부분의 응용 프로그램은 관계형 데이터베이스를 사용합니다. J2EE 응용 프로그램은 JDBC API를 통해 관계형 데이터베이스에 액세스합니다.

JDBC 자원(데이터 소스)은 응용 프로그램에 데이터베이스 연결 수단을 제공합니다. 일반적으로 관리자는 도메인에 배포된 응용 프로그램에서 액세스한 데이터베이스마다 JDBC 자원을 만듭니다. 그러나 한 데이터베이스에 대해 JDBC 자원을 여러 개 만들 수 있습니다.

JDBC 자원을 만들려면 해당 자원을 식별하는 고유한 JNDI 이름을 지정합니다. JNDI 이름 및 자원 절을 참조하십시오. java:comp/env/jdbc 하위 컨텍스트에서 JDBC 자원의 JNDI 이름을 찾을 수 있습니다. 예를 들어, 급여 데이터베이스의 자원에 대한 JNDI 이름은 java:comp/env/jdbc/payrolldb일 수 있습니다. 모든 자원 JNDI 이름이 java:comp/env 하위 컨텍스트로 되어 있기 때문에 관리 콘솔에서 JDBC 자원의 JNDI 이름을 지정할 때 jdbc/name만 입력합니다. 예를 들어, 급여 데이터베이스의 경우 jdbc/payrolldb를 지정합니다.

JDBC 연결 풀

JDBC 자원을 만들려면 연관된 연결 풀을 지정하십시오. 여러 JDBC 자원이 단일 연결 풀을 지정할 수 있습니다.

JDBC 연결 풀은 특정 데이터베이스에 대해 재사용 가능한 연결 그룹입니다. 새로운 물리적 연결을 만드는 데 시간이 많이 소모되기 때문에 서버에서는 사용 가능한 연결 풀을 유지 관리하여 성능을 증가시킵니다. 응용 프로그램은 연결을 요청할 때 풀에서 연결을 가져옵니다. 응용 프로그램에서 연결을 닫으면 연결이 풀로 반환됩니다.

연결 풀의 등록 정보는 데이터베이스 공급업체에 따라 다를 수 있습니다. 일부 공통된 등록 정보는 데이터베이스 이름(URL), 사용자 이름 및 비밀번호입니다.

JDBC 자원 및 연결 풀을 함께 작업하는 방법

데이터 저장과 구성 및 검색을 위해 대부분의 응용 프로그램은 관계형 데이터베이스를 사용합니다. J2EE 응용 프로그램은 JDBC API를 통해 관계형 데이터베이스에 액세스합니다. 데이터베이스에 액세스하려면 먼저 응용 프로그램에서 연결해야 합니다.

런타임 시 응용 프로그램이 데이터베이스에 연결할 경우 다음과 같은 현상이 발생합니다.

  1. 응용 프로그램이 JNDI API를 통해 호출하여 데이터베이스에 연관된 JDBC 자원(데이터 소스)을 가져옵니다.

    자원의 JNDI 이름으로 이름 지정 및 디렉토리 서비스에서 JDBC 자원을 찾습니다. JDBC 자원마다 연결 풀을 지정합니다.

  2. JDBC 자원을 통해 응용 프로그램은 데이터베이스 연결을 가져옵니다.

    반면, Application Server는 데이터베이스에 해당하는 연결 풀에서 물리적인 연결을 검색합니다. 풀은 데이터베이스 이름(URL), 사용자 이름 및 비밀번호 같은 연결 속성을 정의합니다.

  3. 이제 데이터베이스에 연결되어 응용 프로그램에서 데이터베이스의 데이터를 읽고 수정하며 추가할 수 있습니다.

    응용 프로그램이 JDBC API를 호출하여 데이터베이스에 액세스합니다. JDBC 드라이버가 응용 프로그램의 JDBC 호출을 데이터베이스 서버의 프로토콜로 변환합니다.

  4. 데이터베이스 액세스를 완료하면 응용 프로그램에서 연결을 닫습니다.

    Application Server가 연결을 연결 풀로 반환합니다. 연결이 풀로 반환되면 다음 응용 프로그램에 연결을 사용할 수 있습니다.