13.8. 데이터베이스 연결 유효성 검사


데이터베이스 유지 관리, 네트워크 문제 또는 기타 중단 이벤트로 인해 JBoss EAP가 데이터베이스에 대한 연결이 끊어질 수 있습니다. 이러한 상황에서 복구하기 위해 데이터 소스에 대한 데이터베이스 연결 유효성 검사를 활성화할 수 있습니다.

데이터베이스 연결 유효성 검사를 구성하려면 유효성 검사 타이밍 메서드(검증이 발생하는 경우), 유효성 검사 메커니즘(검증을 수행하는 방법) 및 예외 처리 방법을 지정합니다.

  1. 검증 타이밍 방법 중 하나를 선택합니다.

    validate-on-match

    validate-on-match 옵션이 true 로 설정되면 다음 단계에서 지정된 검증 메커니즘을 사용하여 연결 풀에서 확인될 때마다 데이터베이스 연결의 유효성을 검사합니다.

    연결이 유효하지 않은 경우 로그에 경고가 기록되고 풀의 다음 연결이 검색됩니다. 이 프로세스는 유효한 연결이 발견될 때까지 계속됩니다. 풀의 모든 연결을 순환하지 않으려면 use-fast-fail 옵션을 사용할 수 있습니다. 풀에 유효한 연결이 없으면 새 연결이 생성됩니다. 연결 생성에 실패하면 요청하는 애플리케이션에 예외가 반환됩니다.

    이 설정은 가장 빠른 복구를 수행하지만 데이터베이스에 가장 높은 로드를 생성합니다. 그러나 최소 성능 적중이 문제가 되지 않는 경우 가장 안전한 선택입니다.

    background-validation

    background-validation 옵션을 true 로 설정하면 사용하기 전에 백그라운드 스레드에서 연결을 주기적으로 검증합니다. 검증 빈도는 background-validation-millis 속성으로 지정됩니다. background-validation-millis 의 기본값은 0 이며 이는 비활성화되어 있음을 의미합니다.

    background-validation-millis 속성의 값을 결정할 때 다음을 고려하십시오.

    • 이 값은 idle-timeout-minutes 설정과 동일한 값으로 설정해서는 안 됩니다.
    • 값이 낮아지면 풀이 더 자주 검증되고 풀에서 유효하지 않은 연결이 더 빨리 제거됩니다.
    • 더 낮은 값은 더 많은 데이터베이스 리소스를 사용합니다. 값이 클수록 연결 유효성 검사 검사가 줄어들고 데이터베이스 리소스를 더 적게 사용하지만 중단된 연결은 더 오랜 시간 동안 탐지되지 않습니다.
    참고

    이러한 옵션은 함께 사용할 수 없습니다. validate-on-matchtrue 로 설정된 경우 background-validationfalse 로 설정해야 합니다. background-validation 가 true로 설정된 경우 validate-on-matchfalse 로 설정해야 합니다.

  2. 검증 메커니즘 중 하나를 선택합니다.

    valid-connection-checker-class-name

    valid-connection-checker-class-name 을 사용하는 것이 선호되는 검증 메커니즘입니다. 이는 사용 중인 특정 데이터베이스에 대한 연결의 유효성을 검사하는 데 사용되는 연결 검사 클래스를 지정합니다. JBoss EAP는 다음과 같은 연결 검사기를 제공합니다.

    • org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLReplicationValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.novendor.JDBC4ValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.novendor.NullValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker
    • org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseValidConnectionChecker
    check-valid-connection-sql

    check-valid-connection-sql 을 사용하여 연결 유효성을 검사하는 데 사용할 SQL 문을 제공합니다.

    다음은 Oracle 연결의 유효성을 검사하는 데 사용할 수 있는 예제 SQL 문입니다.

    select 1 from dual
    Copy to Clipboard Toggle word wrap

    다음은 MySQL 또는 PostgreSQL 연결의 유효성을 검사하는 데 사용할 수 있는 예제 SQL 문입니다.

    select 1
    Copy to Clipboard Toggle word wrap
  3. 예외 분류 클래스 이름을 설정합니다.

    예외가 치명적으로 표시되면 연결이 트랜잭션에 참여하더라도 즉시 연결이 닫힙니다. 예외 정렬 클래스 옵션을 사용하여 치명적인 연결 예외 후에 적절하게 감지 및 정리합니다. 데이터 소스 유형에 적합한 JBoss EAP 예외 분류기를 선택합니다.

    • org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.informix.InformixExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.novendor.NullExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter
    • org.jboss.jca.adapters.jdbc.extensions.sybase.SybaseExceptionSorter
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat