我正在使用Spring引导和hibernate以及MS SQL Server作为后端数据库在Grails 3.2.2上开发Web应用程序。我希望我的应用程序在重启或任何其他问题后,只要SQL服务器返回,就会自动重新连接数据库。
这就是我的 application.yml 文件数据库相关属性的样子:
development:
dataSource:
dbCreate: update
url: jdbc:jtds:sqlserver://machine_host_name:1433/db_name?autoReconnect=true
properties:
jmxEnabled: true
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
这是JTDS库,我在 build.gradle 文件中使用:
compile group: 'net.sourceforge.jtds', name: 'jtds', version: '1.3.1'
因此,使用这些配置,我的应用程序无法在重新启动SQL Server服务后自动重新连接到MS SQL Server。
答案 0 :(得分:0)
使用Javamelody插件时,在build.gradle中编译org.grails.plugins:grails-melody-plugin:1.72.0'时发现一个问题。
一旦我对此做出评论,它就解决了与数据库的重新连接问题。对您来说可能不是一个相同的问题,但对其他人而言也许不是。