0
두 개의 데이터베이스가있는 응용 프로그램이 있습니다.외부 jpa 연결 - 스프링 부트
Mongo의 주된 하나이며 Postgres 중 하나에 연결됩니다.
외부 서버에있는 포스트 그레스의 연결 (Mongo는 동일한 컴퓨터에 있음).
필자가 Postgres의 데이터베이스에 제대로 연결하면 배포하지만, 문제가 발생하면 약간의 시간이 지나면 연결이 끊어지며 더 이상 복구되지 않습니다.
연결을 닫지 않으려면 어떤 매개 변수를 사용해야합니까?
spring:
devtools:
restart:
enabled: false
livereload:
enabled: false
data:
mongodb:
uri: mongodb://xxxxx:27017
database: xxx
datasources:
elser:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://222.21.224.337:5432/xxx
username: username
password: password
mail:
host: localhost
port: 25
username:
password:
thymeleaf:
cache: true
jpa:
show-sql: true
database-platform: io.github.jhipster.domain.util.FixedPostgreSQL82Dialect
database: POSTGRESQL
properties:
hibernate.id.new_generator_mappings: true
hibernate.cache.use_second_level_cache: false
hibernate.cache.use_query_cache: false
hibernate.generate_statistics: true
hibernate.dialect: org.hibernate.dialect.PostgreSQL82Dialect
스프링 부트는 비 메모리 데이터베이스를 감지하면 연결 풀을 사용하려고 시도합니다. 기본 풀 [여기에 설명 된대로] (https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-connect-to-production-database))는 Tomcat에서 제공 한 것입니다. 따라서 자신의 연결 풀을 제공하지 않는 한'spring.datasource.tomcat.test-on-borrow = true'를 설정하면 Tomcat이 코드를 넘겨주기 전에 연결을 테스트하게되고 만약 연결이 유효하지 않다면 그것을 대체하십시오. 그러나 대부분의 풀은 오류를 올바르게 복구하지 못하는 것으로 유명합니다. – manish