在grails中配置数据库——处理异常

Configuring database in grails - handling exception

我在我的 Grails 应用程序中使用了两个数据源。一个是我的本地数据库,另一个是远程数据库,如下所示。

development {
   dataSource {
      url = "jdbc:mysql://localhost:3306/testax_dev?autoreconnect=true"
      properties {
         ...
      }
   }

   dataSource_phpscheduler {
      driverClassName = 'com.mysql.jdbc.Driver'
      username = "xyz"
      password = "zxyz"
      url = "jdbc:mysql://remote-ip:3306/phpscheduler?autoreconnect=true"
   }
}

现在想处理远程数据库连接问题导致的异常,使应用启动成功。

如果无法创建数据源 bean,Grails 应用程序将不会启动。如果连接数据库失败,则无法启动应用程序。

这样做的原因是 Grails 依赖于那些被实例化并准备就绪的 bean。

更新

正如 Burt Beckwith 所指出的那样,它是 possible to do this,但它确实需要您了解 Hibernate 的生命周期和您的数据源。也可以注册您自己的 dataSource,它具有错误处理功能。一如既往,我们欠伯特很多。