grails中最快的数据库连接检查是什么?我需要创建一个端点,该端点将被脚本一次又一次地调用,因此这需要高效。数据库不时关闭,此脚本将调用此api,该api将返回状态代码。根据此状态代码,机器人将知道数据库已关闭。如果是200,那么一切正常。
因此,我需要以非常有效的方式检查数据库连接是否完好。由于呼叫每隔几秒钟发生一次,因此检查数据库状态的最快方法是。我的想法是使用一个简单的gorm查询,例如Status.read(1)。如果有异常,则返回非200状态代码。有没有更有效的方法来快速检查数据库状态?
我非常感谢您的见解。我正在使用Grails 2.2。
答案 0 :(得分:1)
为什么不仅要避免同时使用GORM,而要使用诸如SELECT 1
之类的超简单数据库查询?将其放入服务中可能看起来像这样:
package my.example
class MyService {
def dataSource
def someTimeoutValue = 1000
boolean isDatabaseThere() {
try {
dataSource.connection.isValid(someTimeoutValue)
return true // everything is okay
} catch (Exception e) {
return false // everything is not okay
}
}
}
请原谅即时输入的任何错别字或其他内容。