Sun Java System Application Server 9.1 관리 설명서

JDBC 연결 풀 정보

JDBC 연결 풀은 특정 데이터베이스에 대해 재사용 가능한 연결 그룹입니다. 관리 콘솔에서 풀을 만들 때 관리자가 특정 데이터베이스에 대한 연결 부분을 실제로 정의합니다.

풀을 만들기 전에 먼저 JDBC 드라이버를 설치 및 통합해야 합니다. 연결 풀 만들기 페이지를 구축할 때 JDBC 드라이버와 관련된 특정 데이터와 데이터베이스 공급업체를 입력해야 합니다. 계속하기 전에 다음 정보를 수집합니다.

JDBC 연결 풀 편집

JDBC 연결 풀 편집 페이지에서 이름을 제외한 기존 풀의 모든 설정을 변경할 수 있는 방법을 제공합니다.

  1. 일반 설정을 변경합니다.

    일반 설정 값은 설치된 특정 JDBC 드라이버에 따라 다릅니다. 이 설정은 Java 프로그래밍 언어로 된 인터페이스나 클래스의 이름입니다.

    매개 변수 

    설명 

    데이터 소스 클래스 이름 

    DataSource 및/또는 XADataSource API를 구현하는 공급업체별 클래스 이름입니다. 이 클래스는 JDBC 드라이버에 있습니다.

    자원 유형 

    선택 항목에는 javax.sql.DataSource(로컬 트랜잭션에만 해당), javax.sql.XADataSource(전역 트랜잭션) 및 java.sql.ConnectionPoolDataSource(로컬 트랜잭션, 성능 향상 가능)가 포함됩니다.

  2. 풀 설정을 변경합니다.

    물리적 데이터베이스 연결 집합은 풀에 상주합니다. 응용 프로그램에서 연결을 요청하면 풀에서 연결이 제거되고 응용 프로그램에서 연결을 해제하면 연결이 풀로 반환됩니다.

    매개 변수 

    설명 

    초기 및 최소 풀 크기 

    풀의 최소 연결 수입니다. 풀 값에 따라 풀을 먼저 작성하거나 응용 프로그램 서버를 시작할 때 풀에 있는 연결 수도 결정합니다. 

    최대 풀 크기 

    풀의 최대 연결 수입니다. 

    풀 크기 조정 개수 

    풀이 각각 최대 및 최소 풀 크기로 확장되거나 축소되는 경우 일괄적으로 크기가 조정됩니다. 이 값은 일괄적으로 처리할 연결 수를 지정합니다. 이 값을 너무 크게 하면 연결 생성 및 재순환이 지체되며, 너무 작게 하면 효율성이 떨어집니다. 

    유휴 시간 초과 

    풀에서 연결이 유휴 상태로 있을 수 있는 최대 시간(초)입니다. 이 시간이 만료되면 연결이 풀에서 제거됩니다. 

    최대 대기 시간 

    연결을 요청한 응용 프로그램이 연결 시간 초과까지 대기하는 시간입니다. 기본 대기 시간이 길기 때문에 응용 프로그램이 무기한 중지될 수 있습니다. 

  3. 연결 검증 설정을 변경합니다.

    선택에 따라 Application Server는 연결을 응용 프로그램에 전달하기 전에 연결을 검증할 수 있습니다. 이렇게 검증을 하면 네트워크 실패나 데이터베이스 서버 충돌로 인해 데이터베이스를 사용할 수 없는 경우 Application Server가 데이터베이스 연결을 자동으로 다시 설정합니다. 연결 검증을 수행하면 추가 오버헤드가 발생하여 성능이 약간 저하됩니다.

    매개 변수 

    설명 

    연결 검증 

    연결 검증을 활성화하려면 필수 확인란을 선택합니다. 

    검증 방법 

    Application Server는 데이터베이스 연결을 자동 완결, 메타데이터 및 테이블의 세 가지 방법으로 검증할 수 있습니다. 

    자동 완결 및 메타데이터 - Application Server는 con.getAutoCommit()con.getMetaData() 메소드를 호출하여 연결을 검증합니다.


    주 –

    많은 JDBC 드라이버에서 이러한 호출의 결과를 캐시하기 때문에 항상 신뢰할 수 있는 검증을 제공하는 것은 아닙니다. 이러한 호출의 캐시 여부를 판단하려면 드라이버 공급업체에 확인합니다.


    테이블 - 응용 프로그램에서 지정된 데이터베이스 테이블을 쿼리합니다. 테이블이 반드시 필요하며 액세스할 수 있어야 하지만 행은 없어도 됩니다. 행이 많이 있는 기존 테이블이나 이미 자주 액세스하는 테이블은 사용하지 마십시오. 

    테이블 이름 

    검증 방법 콤보 상자에서 테이블을 선택한 경우 여기에서 데이터베이스 테이블 이름을 지정합니다. 

    실패 시 

    모든 연결 닫기 확인란을 선택한 경우 연결이 한 번 실패하면 Application Server는 풀의 모든 연결을 닫고 연결을 다시 설정합니다. 이 확인란을 선택하지 않으면 개별 연결을 사용할 경우에만 연결이 다시 설정됩니다. 

    구성 요소가 아닌 호출자 허용 

    서블릿 필터 및 라이프사이클 모듈과 같이 구성 요소가 아닌 호출자가 풀을 사용할 수 있도록 하려면 이 확인란을 누릅니다.  

  4. 트랜잭션 격리 설정을 변경합니다.

    대개 많은 사용자가 동시에 데이터베이스에 액세스하기 때문에 한 트랜잭션에서 데이터를 읽는 동안 다른 트랜잭션에서 해당 데이터를 업데이트할 수 있습니다. 트랜잭션의 격리 수준은 업데이트되는 데이터를 다른 트랜잭션에 표시하는 정도를 정의합니다. 격리 수준에 대한 자세한 내용은 데이터베이스 공급업체의 설명서를 참조하십시오.

    매개 변수 

    설명 

    트랜잭션이 아닌 연결 

    Application Server에서 트랜잭션이 아닌 모든 연결을 반환하도록 하려면 이 확인란을 누릅니다. 

    트랜잭션 격리 

    이 풀의 연결에 대한 트랜잭션 격리 수준을 선택할 수 있게 합니다. 이 확인란을 선택하지 않으면 연결은 JDBC 드라이버에서 제공하는 기본 격리 수준으로 실행됩니다. 

    격리 수준 보장 

    격리 수준이 지정된 경우에만 적용할 수 있습니다. 보장 확인란이 선택된 경우 풀에서 가져온 모든 연결은 동일한 격리 수준을 갖게 됩니다. 예를 들어, 마지막으로 사용 시 연결의 격리 수준을 프로그래밍 방식으로 변경한 경우(예: con.setTransactionIsolation 사용) 이 메커니즘은 상태를 지정한 격리 수준으로 다시 변경합니다.

  5. 등록 정보를 변경합니다.

    추가 등록 정보 테이블에서 데이터베이스 이름(URL), 사용자 이름 및 비밀번호 같은 등록 정보를 지정할 수 있습니다. 데이터베이스 공급업체에 따라 등록 정보가 다르기 때문에 자세한 내용은 공급업체의 설명서를 참조하십시오.

JDBC 연결 풀 고급 속성 편집

연결 누수를 진단하고 사용 편의성을 향상시키기 위해 Application Server 9.1은 연결 풀이 만들어지는 시점에서 이를 구성하기 위한 몇 가지 새로운 속성을 제공합니다.

  1. 고급 탭을 열고 다음 속성을 지정합니다.

    속성 

    설명 

    이름 

    편집할 등록 정보를 포함하는 JDBC 연결 풀의 이름입니다. 하지만 풀 이름은 변경할 수 없습니다. 

    명령문 시간 초과 

    비정상적으로 길게 실행되는 쿼리를 종료하기 전까지의 시간(초 단위)입니다. Application Server는 만들어지는 명령문에 "쿼리 시간 초과"를 설정합니다. 기본값인 -1은 속성이 활성화되지 않음을 의미합니다. 

    JDBC 객체 래핑 

    true로 설정하면 응용 프로그램은 Statement, PreparedStatement, CallableStatement, ResultSet, DatabaseMetaData에 대해 래핑된 JDBC 객체를 가져옵니다. 기본값은 false입니다. 

  2. 연결 설정은 다음 표의 설명과 같이 지정합니다.

    속성 

    설명 

    최대 1회 검증 

    연결이 최대 한 번 검증되기까지의 시간(초 단위)입니다. 연결의 검증 요청 수를 줄이는 데 도움이 됩니다. 기본값 0은 연결 검증이 활성화되지 않음을 의미합니다. 

    누수 시간 초과 

    연결 풀의 연결 누수를 추적할 시간(초 단위)입니다. 기본값 0은 연결 누수 추적이 비활성화됨을 의미합니다. 연결 누수 추적이 활성화되면 자원 모니터링 탭에서 연결 누수의 수에 대한 통계를 얻을 수 있습니다. 이 탭을 보려면 Application Server > 모니터링 > 자원으로 이동하십시오.  

    누수 재생 

    이 옵션을 활성화하면 누수된 연결이 누수 연결 추적 완료 후 풀로 복원됩니다. 

    만들기 재시도 횟수 

    새 연결 만들기에 실패한 경우 재시도할 횟수입니다. 기본값 0은 연결 만들기를 다시 시도하지 않음을 의미합니다. 

    재시도 간격 

    두 연결 만들기 시도 간의 간격(초 단위)을 지정합니다. 기본값은 10초입니다. 이 속성은 만들기 재시도 횟수의 값이 0보다 큰 경우에만 사용됩니다. 

    지연 연결 참여 

    메소드에 실제로 사용되는 자원만 트랜잭션에 참여시키려는 경우 이 옵션을 활성화합니다. 

    지연 연관 

    작업이 해당 연결에서 수행될 때 연결이 느리게 연결됩니다. 또한 트랜잭션이 완료되고 구성 요소 메소드가 종료되면 연관이 해제되어 물리적 연결의 재사용을 돕습니다. 기본값은 false입니다. 

    스레드와 연결 

    연결을 스레드와 연관시켜 연결에서 같은 스레드가 필요할 때 해당 스레드에 이미 연관된 연결을 재사용함으로써 풀에서 연결을 가져올 때 수반되는 오버헤드를 줄이려면 이 옵션을 활성화합니다. 기본값은 false입니다. 

    연결 일치 

    이 옵션을 사용하여 풀에 대한 연결 일치를 켜거나 끕니다. 풀의 연결이 항상 같은 종류이며 따라서 풀에서 선택된 연결을 자원 어댑터와 일치시킬 필요가 없음을 관리자가 알고 있을 때 false로 설정할 수 있습니다. 기본값은 false입니다. 

    최대 연결 사용 수 

    풀이 재사용할 연결 횟수를 지정합니다. 연결을 지정된 횟수만큼 재사용한 다음에는 해당 연결이 닫힙니다. 예를 들어 명령문 누수를 피하려고 할 때 유용합니다. 기본값인 0은 연결이 재사용되지 않음을 의미합니다.