2016-04-13 3 views
1

Наше веб-приложение работает на postgres 9.3 и Grails 2.5.3. Когда мы перезапускаем postgres (перезапуск /etc/init.d/postgresql) и получаем доступ к веб-сайту исключение «Это соединение было закрыто». пока мы не перезапустим приложение grails.Автоматическое повторное подключение к postgres с Grails после перезапуска postgres

Однако мы хотели бы, чтобы приложение grails автоматически восстановило соединение с db после того, как мы перезапустили postgres. Поэтому мы хотели бы, чтобы приложение автоматически подключалось к db самостоятельно, без необходимости перезапуска приложения grails.

Возможно ли это, и если да, то каким образом?

+1

Как подключение конфигурации выглядеть прямо сейчас? Вы пробовали параметры 'testOnBorrow' и' validationQuery'? –

+0

Да, они решают проблему. У меня есть только один вопрос относительно testOnBorrow. Предположим, что за один раз есть только одно соединение, поэтому размер пула установлен на maxActive = maxIdle = minIdle = initialSize = 1, и соединение всегда используется из-за интенсивного трафика. Если база данных будет перезагружена/перезапущена, будет ли она работать? Я имею в виду, потому что соединение никогда не может вернуться в пул из-за большой нагрузки. Или это глупость? Другой вопрос: почему/когда я буду использовать testWhileIdle/testOnReturn? – frasen

ответ

Смежные вопросы