У меня есть приложение Grails, которое связывается с базой данных ingres через классы домена. Когда происходит сбой базы данных, или я перезапустил в то время как приложение работает, я получаю исключение:Grails автоматически возобновляет соединение при ошибке
| Error Caused by: java.sql.SQLTransactionRollbackException: Connection failed.
Это исключение тогда приходит каждый раз и навсегда, когда я получить доступ к базе данных Altough базы данных снова от перезапуска/сбоя.
Как заставить Grails/Hibernate воссоздать соединение или настроить его для автоматического создания.
Это мой конфиг:
dataSource {
dbCreate = 'validate'
url = "jdbc:ingres://xxx.xxx.xxx.xxx:II7/test"
driverClassName = "com.ingres.jdbc.IngresDriver"
username = "ingres"
password = "ingres"
jmxEnabled = true
initialSize = 5
maxActive = 50
minIdle = 5
maxIdle = 25
maxWait = 10000
maxAge = 10 * 60000
timeBetweenEvictionRunsMillis = 5000
minEvictableIdleTimeMillis = 60000
validationQuery = "SELECT 1"
validationQueryTimeout = 3
validationInterval = 15000
testOnBorrow = true
testWhileIdle = true
testOnReturn = true
jdbcInterceptors = "ConnectionState"
defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
}
Я не использовал 'свойства {}' в моей конфигурации (см. Вопрос). Это необходимо? –
'validationQuery =" select now() "': 'now()' недоступен при входе. Вместо этого используйте 'select 1'. –
Параметр 'autoReconnect' URL недоступен для драйвера Ingres JDBC. Однако он работает для mySQL. –