>데이터 베이스 >MySQL 튜토리얼 >Spring Boot JPA/Hibernate 데이터베이스 연결 중단을 해결하는 방법은 무엇입니까?

Spring Boot JPA/Hibernate 데이터베이스 연결 중단을 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-09 18:33:15704검색

How to Resolve Spring Boot JPA/Hibernate Database Connection Interruptions?

jpa-hibernate를 사용하여 Spring Boot에서 데이터베이스 연결 중단 해결

오류 메시지는 Spring Boot 애플리케이션과 MySQL 데이터베이스 간의 연결을 나타냅니다. 서버에 구성된 대기 시간 제한을 초과하여 활동이 없어 종료되었습니다. 이 문제를 해결하기 위해 다음과 같은 몇 가지 권장 접근 방식이 있습니다.

1. 자동 재연결 활성화:

즉시 해결 방법은 JDBC URL에서 자동 재연결을 활성화하는 것입니다:

spring.datasource.url = jdbc:mysql://localhost:3306/test?autoReconnect=true

그러나 이 방법은 작업 중에 예기치 않은 동작이 발생할 수 있으므로 권장되지 않습니다. 활성 거래.

2. 연결 유효성 검사:

더 효과적인 접근 방식은 애플리케이션 수명 전반에 걸쳐 연결 유효성 검사를 활성화하는 것입니다. 다음 속성을 구성합니다.

  • 최대 활성 연결:

    spring.datasource.max-active=10
  • 초기 연결:

    spring.datasource.initial-size=5
  • 유휴 연결 제한:

    spring.datasource.max-idle=5
    spring.datasource.min-idle=1
  • 검증 쿼리 및 타이밍:

    spring.datasource.test-while-idle=true
    spring.datasource.test-on-borrow=true
    spring.datasource.validation-query=SELECT 1
    spring.datasource.time-between-eviction-runs-millis=5000
    spring.datasource.min-evictable-idle-time-millis=60000

이 구성을 사용하면 유휴 연결이 정기적으로 검증되고 연결이 끊어집니다. 풀에서 제거됩니다.

3. HikariCP 연결 풀:

Spring Boot 2.x는 기본적으로 HikariCP를 연결 풀로 사용합니다. HikariCP는 자동 연결 유효성 검사를 제공하므로 유효성 검사 쿼리 속성을 생략할 수 있습니다.

참고: 유효성 검사 쿼리를 사용하는 것은 권장되지 않지만 HikariCP에는 자체 연결 유효성 검사 방법이 있습니다. 효율적입니다.

위 내용은 Spring Boot JPA/Hibernate 데이터베이스 연결 중단을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.