Spring Boot을 PostgreSQL에 자동으로 다시 연결하려면 어떻게 해야 합니까?
Postgre에 연결하여 Spring Boot을 실행하고 있습니다.SQL 데이터베이스.데이터베이스 이후에 Spring Boot이 시작되면 데이터베이스에 데이터가 기록되는 것을 확인했습니다.
spring.datasource.url = jdbc:postgresql://localhost/dbname
spring.datasource.username = user
spring.datasource.password = secret
spring.datasource.driver-class-name = org.postgresql.Driver
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
개발 중인 데이터베이스가 변경되면 다음과 같은 예외가 발생합니다.PreparedStatementCallback; SQL []; This connection has been closed.; nested exception is org.postgresql.util.PSQLException: This connection has been closed.
예외가 발생하면 데이터베이스에 다시 액세스할 수 있습니다. 문제는 원래 연결된 데이터베이스 끝점을 다시 시작하여 더 이상 사용할 수 없기 때문에 연결이 오래되었다는 것입니다.Spring Boot을 다시 시작하면 문제가 해결됩니다.
Postgre에 다시 연결하도록 Spring Boot를 구성하는 방법SQL을 다시 시작하지 않아도 됩니까?
Spring Boot JPA - 자동 다시 연결 구성 및 Spring jpa에서 연결이 닫힌 경우 데이터베이스를 다시 연결하는 방법에 대한 답변을 따라 시도했습니다.나는 Postgre가.SQL 동작은 MySQL과 다릅니다.Spring Boot 설명서를 읽어도 도움이 되지 않습니다. 설명된 구성 요소를 잘 알지 못해 어떤 설명서를 봐야 하는지 이해할 수 없습니다.
스프링 부트는 자동으로 다시 연결되도록 구성되어야 합니다. 문제는 연결이 끊어진 것을 인식하지 못한다는 것입니다.
이미 대여 및 유효성 검사 쿼리에 대한 테스트를 사용하고 있으므로 매번 실행되도록 유효성 검사 간격을 줄여 보십시오.
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.validation-interval=0
Tomcat jdbc 연결 풀 켜기testOnBorrow:
(계속)풀에서 개체를 빌리기 전에 개체의 유효성을 검사할지 여부를 나타냅니다.개체의 유효성을 검사하지 못하면 개체가 풀에서 삭제되고 다른 개체를 빌리려고 시도합니다.참고 - 실제 값이 영향을 미치려면 유효성 검사Query 또는 ValidatorClassName 매개 변수를 null이 아닌 문자열로 설정해야 합니다.보다 효율적인 검증을 수행하려면 검증을 참조하십시오.간격.기본값은 false입니다.
하지만 주의해야 할 것은validationInterval:
(긴 길이) 초과 유효성 검사를 방지하고 최대 이 빈도(밀리초)에서만 유효성 검사를 실행합니다.연결의 유효성을 검사해야 하지만 이 간격 내에 이전에 유효성을 검사한 경우 연결은 다시 유효성을 검사하지 않습니다.기본값은 30000(30초)입니다.
언급URL : https://stackoverflow.com/questions/39563585/how-do-i-get-spring-boot-to-automatically-reconnect-to-postgresql
'programing' 카테고리의 다른 글
| 테이블에 허용되는 최대 열 수는 몇 개입니까? (0) | 2023.07.10 |
|---|---|
| C 부동 소수점을 int로 변환 (0) | 2023.07.10 |
| 내 SUM 선택 쿼리가 null을 반환합니다.0을 반환해야 합니다. (0) | 2023.07.10 |
| 여러 단계 항목에 대한 치명적인 오류 발생 (0) | 2023.07.10 |
| 읽기 전용 스냅샷 VS 스냅샷 분리 수준 (0) | 2023.07.10 |