Grails - 如何在操作期间连接到另一个数据库

时间:2013-01-04 22:33:23

标签: grails datasource

我需要做的是(在行动或服务中):

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来获取数据,但这不是很流氓,这是唯一的方法吗?或者是否有允许我这样做的插件?

1 个答案:

答案 0 :(得分:1)

除非你使用某种自定义DataSource,否则没有isOnline()方法,所以你也可以使用DataSources插件。

实际上,较新版本的grails内置了多数据源支持,因此您不需要插件。

我认为您只需要尝试从DataSource获取连接,并准备捕获并处理数据库脱机时将获得的异常。

配置良好的数据库连接池应该允许您在数据库联机后成功连接。