动态连接到 grails 中的数据库

Posted

技术标签:

【中文标题】动态连接到 grails 中的数据库【英文标题】:Dynamic connection to DB in grails 【发布时间】:2015-02-26 13:16:12 【问题描述】:

我在 grails 应用程序中使用两个数据源,一个是本地数据库,另一个是远程。

当正在运行应用程序时,如果无法访问任何一个数据库,则应用程序没有运行。 我不希望这种情况发生我希望至少在不需要数据库连接的主页上运行应用程序。

请在这种情况下帮助我如何配置我的应用程序..

【问题讨论】:

如果不实现您自己的 DataSource,这对于 Grails 应用程序是不可能的。如果您在 Grails 应用程序中定义了一个 DataSource,则它必须可以访问,应用程序才能启动。 感谢摩尔的回复,我在我的应用程序中使用了两个数据源,当这两个数据源之一不可访问而一个可访问时,是否可以启动应用程序(比如本地数据库) ?? 不,默认情况下所有定义的数据源都必须可访问,应用程序才能启动。 【参考方案1】:

Well the straight answer is NO。除非您的数据源已成功加载,否则您无法启动您的应用程序。每当制作数据源出现任何问题时,都会抛出异常并停止应用程序的执行,it is assumed that the application may not be able to work properly if there is error in creating datasources

但是您可以通过从引导程序动态加载数据源来解决问题。你可以follow the link to load hibernate datasource dynamically.

在这种情况下,您不会将数据源信息保留在 Config 中,而是将它们放在属性文件中并加载它们以加载数据源。您也可以将其保留在 try-catch 块中以处理异常。

【讨论】:

以上是关于动态连接到 grails 中的数据库的主要内容,如果未能解决你的问题,请参考以下文章

Grails - 使用身份验证连接到 MongoDB 数据库

连接到 Grails 应用程序数据库

如何将 Grails 3.0 连接到我的本地 Mysql 数据库

将Oracle数据库连接到Grails 3

Grails 应用程序无法连接到 mysql 服务

Grails 连接到 Ms Access