JDBC 자원을 만들려면 연관된 연결 풀을 지정하십시오. 여러 JDBC 자원이 단일 연결 풀을 지정할 수 있습니다.
JDBC 연결 풀은 특정 데이터베이스에 대해 재사용 가능한 연결 그룹입니다. 새로운 물리적 연결을 만드는 데 시간이 많이 소모되기 때문에 서버에서는 사용 가능한 연결 풀을 유지 관리하여 성능을 증가시킵니다. 응용 프로그램은 연결을 요청할 때 풀에서 연결을 가져옵니다. 응용 프로그램에서 연결을 닫으면 연결이 풀로 반환됩니다.
연결 풀을 만들 때 특정 데이터베이스에 대한 연결 부분을 실제로 정의합니다. 풀을 만들기 전에 먼저 JDBC 드라이버를 설치 및 통합해야 합니다. 연결 풀의 등록 정보는 데이터베이스 공급업체에 따라 다를 수 있습니다. 일부 공통된 등록 정보는 데이터베이스 이름(URL), 사용자 이름 및 비밀번호입니다.
JDBC 드라이버와 관련된 특정 데이터 및 데이터베이스 공급업체를 입력해야 합니다. 계속하기 전에 다음 정보를 수집합니다.
데이터베이스 공급업체 이름
자원 유형: javax.sql.DataSource(로컬 트랜잭션에만 해당), javax.sql.XADataSource(전역 트랜잭션) 등
데이터 소스 클래스 이름: JDBC 드라이버에 자원 유형 및 데이터베이스에 대한 데이터 소스 클래스가 있으면 데이터 소스 클래스 이름 필드 값이 필요합니다.
필수 등록 정보: 데이터베이스 이름(URL), 사용자 이름 및 비밀번호 등
JDBC 연결 풀은 특정 데이터베이스에 대해 재사용 가능한 연결 그룹입니다. 관리 콘솔에서 풀을 만들 때 관리자가 특정 데이터베이스에 대한 연결 부분을 실제로 정의합니다.
풀을 만들기 전에 먼저 JDBC 드라이버를 설치 및 통합해야 합니다. 연결 풀 만들기 페이지를 구축할 때 JDBC 드라이버와 관련된 특정 데이터와 데이터베이스 공급업체를 입력해야 합니다. 계속하기 전에 다음 정보를 수집합니다.
데이터베이스 공급업체 이름
자원 유형: javax.sql.DataSource(로컬 트랜잭션에만 해당), javax.sql.XADataSource(전역 트랜잭션) 등
데이터 소스 클래스 이름
필수 등록 정보: 데이터베이스 이름(URL), 사용자 이름 및 비밀번호 등
설치한 JDBC 드라이버에서 지정된 대로 일반 설정 값을 정의합니다. 이 설정은 Java 프로그래밍 언어로 된 인터페이스나 클래스의 이름입니다.
매개 변수 |
설명 |
---|---|
데이터 소스 클래스 이름 |
DataSource 및/또는 XADataSource API를 구현하는 공급업체별 클래스 이름입니다. 이 클래스는 JDBC 드라이버에 있습니다. |
자원 유형 |
선택 항목에는 javax.sql.DataSource(로컬 트랜잭션에만 해당), javax.sql.XADataSource(전역 트랜잭션) 및 java.sql.ConnectionPoolDataSource(로컬 트랜잭션, 성능 향상 가능)가 포함됩니다. |
또한, 풀에 상주하는 물리적 데이터베이스 연결 집합을 정의해야 합니다. 응용 프로그램에서 연결을 요청하면 풀에서 연결이 제거되고 응용 프로그램에서 연결을 해제하면 연결이 풀로 반환됩니다.
매개 변수 |
설명 |
---|---|
초기 및 최소 풀 크기 |
풀의 최소 연결 수입니다. 풀 값에 따라 풀을 먼저 작성하거나 응용 프로그램 서버를 시작할 때 풀에 있는 연결 수도 결정합니다. |
최대 풀 크기 |
풀의 최대 연결 수입니다. |
풀 크기 조정 개수 |
풀이 최소 풀 크기로 줄어들 경우 일괄적으로 크기가 조정됩니다. 이 값은 일괄적으로 처리할 연결 수를 지정합니다. 이 값을 너무 크게 하면 연결 재순환이 지체되며, 너무 작게 하면 효율성이 떨어집니다. |
유휴 시간 초과 |
풀에서 연결이 유휴 상태로 있을 수 있는 최대 시간(초)입니다. 이 시간이 만료되면 연결이 풀에서 제거됩니다. |
최대 대기 시간 |
연결을 요청한 응용 프로그램이 연결 시간 초과까지 대기하는 시간입니다. 기본 대기 시간이 길기 때문에 응용 프로그램이 무기한 중지될 수 있습니다. |
선택에 따라 Application Server는 연결을 응용 프로그램에 전달하기 전에 연결을 검증할 수 있습니다. 이렇게 검증을 하면 네트워크 실패나 데이터베이스 서버 충돌로 인해 데이터베이스를 사용할 수 없는 경우 Application Server가 데이터베이스 연결을 자동으로 다시 설정합니다. 연결 검증을 수행하면 추가 오버헤드가 발생하여 성능이 약간 저하됩니다.
매개 변수 |
설명 |
---|---|
연결 검증 |
연결 검증을 활성화하려면 필수 확인란을 선택합니다. |
검증 방법 |
Application Server는 데이터베이스 연결을 자동 완결, 메타데이터 및 테이블의 세 가지 방법으로 검증할 수 있습니다. 자동 완결 및 메타데이터 - Application Server는 con.getAutoCommit() 및 con.getMetaData() 메소드를 호출하여 연결을 검증합니다. 그러나, 많은 JDBC 드라이버에서 이러한 호출의 결과를 캐시하기 때문에 항상 신뢰할 수 있는 검증을 제공하는 것은 아닙니다. 이러한 호출의 캐시 여부를 판단하려면 드라이버 공급업체에 확인합니다. 테이블 - 응용 프로그램에서 지정된 데이터베이스 테이블을 쿼리합니다. 테이블이 반드시 필요하며 액세스할 수 있어야 하지만 행은 없어도 됩니다. 행이 많이 있는 기존 테이블이나 이미 자주 액세스하는 테이블은 사용하지 마십시오. |
테이블 이름 |
검증 방법 콤보 상자에서 테이블을 선택한 경우 여기에서 데이터베이스 테이블 이름을 지정합니다. |
실패 시 |
모든 연결 닫기 확인란을 선택한 경우 연결이 한 번 실패하면 Application Server는 풀의 모든 연결을 닫고 연결을 다시 설정합니다. 이 확인란을 선택하지 않으면 개별 연결을 사용할 경우에만 연결이 다시 설정됩니다. |
대개 많은 사용자가 동시에 데이터베이스에 액세스하기 때문에 한 트랜잭션에서 데이터를 읽는 동안 다른 트랜잭션에서 해당 데이터를 업데이트할 수 있습니다. 트랜잭션의 격리 수준은 업데이트되는 데이터를 다른 트랜잭션에 표시하는 정도를 정의합니다. 격리 수준에 대한 자세한 내용은 데이터베이스 공급업체의 설명서를 참조하십시오.
매개 변수 |
설명 |
---|---|
트랜잭션 격리 |
이 풀의 연결에 대한 트랜잭션 격리 수준을 선택할 수 있게 합니다. 이 확인란을 선택하지 않으면 연결은 JDBC 드라이버에서 제공하는 기본 격리 수준으로 실행됩니다. |
격리 수준 보장 |
격리 수준이 지정된 경우에만 적용할 수 있습니다. 보장 확인란이 선택된 경우 풀에서 가져온 모든 연결은 동일한 격리 수준을 갖게 됩니다. 예를 들어, 마지막으로 사용 시 연결의 격리 수준을 프로그래밍 방식으로 변경한 경우(예: con.setTransactionIsolation 사용) 이 메커니즘은 상태를 지정한 격리 수준으로 다시 변경합니다. |