2016-04-13 9 views
1

Unsere Webanwendung läuft auf Postgres 9.3 und Grails 2.5.3. Wenn wir postgres (/etc/init.d/postgresql restart) neu starten und auf die Website zugreifen, wird die Ausnahme "Diese Verbindung wurde geschlossen." bis wir die Grails App neu starten.Automatische Wiederverbindung zu Postgres mit Grails nach Neustart von Postgres

Wir möchten jedoch, dass die App "grails" automatisch eine Verbindung mit der Datenbank wiederherstellt, nachdem wir Postgres neu gestartet haben. Wir möchten, dass sich die App automatisch automatisch wieder mit der Datenbank verbindet, ohne dass wir die Grails-App neu starten müssen.

Ist das möglich und wenn ja wie?

+1

Wie funktioniert die Verbindung Config wie jetzt aussehen? Haben Sie die Parameter testOnBorrow und validationQuery getestet? –

+0

Ja, diese lösen das Problem. Ich habe nur eine Frage zu testOnBorrow. Nehmen wir an, dass es immer nur eine Verbindung gibt, also wird die Poolgröße auf maxActive = maxIdle = minIdle = initialSize = 1 gesetzt und die Verbindung wird wegen des starken Datenverkehrs immer benutzt. Wenn die Datenbank neu gestartet/neu gestartet wird, funktioniert das noch? Ich meine, weil die Verbindung wegen der hohen Last niemals in den Pool zurückkehren kann. Oder ist das Unsinn? Eine andere Frage: Warum/wann würde ich stattdessen testWhileIdle/testOnReturn verwenden? – frasen

Antwort