我需要做的是(在行动或服务中):
someAction() {
// connect to database
def otherDatasource = new Datasource(otherOptions)
if (otherDatasource.isOnline()) {
def list = ExclusiveDomainFromOtherDatasource.list()
// do stuff with the data...
otherDatasource.close()
}
}
我没有使用datasources插件,因为其他数据库可能处于脱机状态且应用程序在首次运行期间连接,或者我可能忘记了某些内容。
我知道我可以使用一些基本的jdbc库并创建一个原始的sql来获取数据,但这不是很流氓,这是唯一的方法吗?或者是否有允许我这样做的插件?
答案 0 :(得分:1)
除非你使用某种自定义DataSource,否则没有isOnline()方法,所以你也可以使用DataSources插件。
实际上,较新版本的grails内置了多数据源支持,因此您不需要插件。
我认为您只需要尝试从DataSource获取连接,并准备捕获并处理数据库脱机时将获得的异常。
配置良好的数据库连接池应该允许您在数据库联机后成功连接。