2017-10-03 16 views
0

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 
+1

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

Antwort

0

manish: Es wäre so?

data: 
    mongodb: 
     uri: mongodb://srv-xxx:27017 
     database: xxx 
datasources:  
    elser: 
     driver-class-name: org.postgresql.Driver 
     url: jdbc:postgresql://185.25.114.57:5432/XXX 
     username: XXXX 
     password: XXXX 
    tomcat: 
     test-on-borrow:true