2012-05-30 13 views
6

データベースにアクセスするには、confファイルにDBの詳細を指定する必要があります。条件付きでデータベースに接続

DBが稼働している場合、すべて正常に動作します。

DBがダウンしている場合、私は制御できない例外がスローされます。

条件付きでDBに接続したいと思います。フラグがどこかに設定されている場合にのみDBに接続したいとします。 PlayのDBに手動で接続する方法はありますか?

更新: 私は非常に明確ではないと思います。

DBがダウンしていて、他の代替ソースからデータを取得しても、アプリケーションが失敗しないようにしたい。 PLAYでこれをどのように達成できますか?

+0

あなたはより多くの手動の方法とはどういう意味ですか?必要に応じて、いつでもJdbcや任意のデータベースAPIにフォールバックすることができます。 –

答えて

1

私は開発のためのDBなしであなたのアプリを起動したいと思いますか?あなたは、たとえば、メモリDBに設定し、起動時に代替設定ファイルを渡すことができます。

start -Dconfig.resource=development.conf 

編集:

アプリの設定でいくつかのデータベースを構成し、DB.getDataSource(name: String)でそれらを取得したり、接続を取得することができます(F:接続=> A)

項目:DB.getConnection(name: String)あるいはDB.getConnectionとのトランザクションを実行し、[A](文字列名)とそれにhttp://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.db.DB $

+0

私が欲しいのは、DB接続が失敗したときにPlayが代替のデータソース(たとえばキャッシュ)にフォールバックすることです。 – rahul

+0

これは非常に一般的な使用例ではないと思います。それ以外の方法は問題ありません。http://www.playframework.org/documentation/2.0/ScalaCache データベースを高可用性にする必要があります。 – drexin

+0

PlayはDB接続をほとんど制御できません。 – rahul