2016-08-04 8 views
1

Ich benutze Spring-Boot und Datenquelle mit JDBC Vorlage (Postgres). in meinem Service mache ichSpring-Boot: JDBC Re-Verbindung nach Db-Ausfall

@Autowired 
public MyDao(DataSource dataSource) { 
    this.jdbcTemplate = new JdbcTemplate(dataSource); 
} 

und später jdbcTemplate().query(...);. Alles funktioniert wie erwartet, aber wenn ich db neu starte, funktioniert es nicht mehr. sieht so aus, als würde die Datenquelle die Verbindung nicht wiederherstellen. Ich habe:

org.postgresql.util.PSQLException: This connection has been closed. 

ich habe denselben Fehler, wenn ich hinzufügen:

spring: 
    datasource: 
    testOnBorrow: true 
    validationQuery: select 1 

wie Datenquelle Reconnect automatisch machen?

+0

Siehe http://stackoverflow.com/questions/30451470/connection-to -db-stirbt-nach-424-im-Frühjahr-boot-jpa-Ruhezustand (obwohl es sich um MySQL handelt, gelten die Einstellungen auch für andere Treiber). –

Antwort

1

eigentlich fand ich es nach nicht wieder hinzugefügt:

spring: 
    datasource: 
    testOnBorrow: true 
    validationQuery: select 1 

ich brauche nur den Standard warte validationInterval die 30sec ist

+0

Können Sie Ihre Antwort akzeptieren, so dass die Frage nicht als unbeantwortet angezeigt wird? Vielen Dank! –