Scala 有条件地连接到数据库

Scala 有条件地连接到数据库,scala,playframework,playframework-2.0,Scala,Playframework,Playframework 2.0,要访问数据库,必须在conf文件中指定数据库详细信息 如果DB启动,一切正常 如果数据库关闭,播放会抛出一个我无法控制的异常 我想有条件地连接到数据库。假设我只想在某个地方设置标志时连接到DB。是否有更手动的方式连接到正在使用的DB 更新: 我想我不是很清楚 我希望应用程序不会失败,如果数据库关闭,并从其他备用源获取数据。我如何在游戏中实现这一点?我假设您希望在没有DB的情况下启动应用程序进行开发?您可以在启动时传递另一个配置文件,例如在其中配置内存中的数据库: start -Dconfig.r

要访问数据库,必须在conf文件中指定数据库详细信息

如果DB启动,一切正常

如果数据库关闭,播放会抛出一个我无法控制的异常

我想有条件地连接到数据库。假设我只想在某个地方设置标志时连接到DB。是否有更手动的方式连接到正在使用的DB

更新: 我想我不是很清楚


我希望应用程序不会失败,如果数据库关闭,并从其他备用源获取数据。我如何在游戏中实现这一点?

我假设您希望在没有DB的情况下启动应用程序进行开发?您可以在启动时传递另一个配置文件,例如在其中配置内存中的数据库:

start -Dconfig.resource=development.conf
编辑:

您可以在应用程序配置中配置多个数据库,并使用
DB.getDataSource(名称:String)
获取它们,或者使用
DB.getConnection(名称:String)
获取与其的连接,甚至使用DB.getConnection[a](名称:String)(f:connection=>a)运行事务


请参阅:$

您所说的更多手动方式是什么意思?如果您愿意,您可以随时使用Jdbc或任何您想要的数据库API。我希望Play在DB连接失败时能够回退到备用数据源(例如缓存)。我不认为这是一个非常常见的用例。另一种方法是没有问题的:你应该让你的数据库高度可用。所以Play对DB连接的控制很小?我没有这么说,是吗?基本上,您可以使用DB执行任何您喜欢的操作: