Ich habe eine Anwendung mit zwei Datenbanken.Externe jpa Verbindung - Spring Boot
Das wichtigste von Mongo und eine Verbindung zu einem von Postgres.
In der Produktion die Verbindung von Postgres, die in einem externen Server ist (Mongo ist in der gleichen Maschine).
Wie ich es bereitstellen, wenn es mich korrekt mit der Datenbank von Postgres verbindet, aber wenn es passiert, verliert ein wenig Zeit die Verbindung und stellt es nicht mehr wieder her.
Welche Parameter sollte ich spielen, um die Verbindung nicht zu schließen?
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
Spring Boot versucht, einen Verbindungspool zu verwenden, wenn eine nicht speicherinterne Datenbank erkannt wird. Der Standardpool [wie hier erklärt] (https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-connect-to-production-database) ist das von Tomcat zur Verfügung gestellt. Wenn Sie also nicht Ihren eigenen Verbindungspool bereitstellen, wird Tomcat durch das Festlegen von 'spring.datasource.tomcat.test-on-borrow = true 'gezwungen, die Verbindung zu testen, bevor Sie Ihren Code übergeben. Wenn die Verbindung ungültig ist, ersetzen Sie sie. Beachten Sie jedoch, dass die meisten Pools berüchtigt dafür sind, Fehler nicht ordnungsgemäß zu beheben. – manish