2012-05-30 42 views
6

Veritabanına erişmek için, bir dosyanın DB dosyasında ayrıntılarını belirtmesi gerekir.Koşullu olarak bir veritabanına bağlanın

DB her şey yolunda çalışıyorsa her şey iyi çalışıyor.

DB kapalıysa Oynat, kontrol edemediğim bir istisna atar.

Bir DB'ye koşullu olarak bağlanmak istiyorum. Bir bayrak ayarlanmışsa sadece DB'ye bağlanmak istediğimi söylerim. Oynatımda bir DB'ye bağlanmak için daha manuel bir yol var mı?

Güncelleme: Açıkçası çok net olmadım.

DB kapalıysa ve diğer alternatif kaynaklardan veri alırsa Uygulamanın başarısız olmasını istiyorum. Bunu PLAY'da nasıl yapabilirim?

+0

? İsterseniz, istediğiniz Jdbc veya herhangi bir veritabanı API'sine her zaman geri dönüş yapabilirsiniz. –

cevap

1

Uygulamanızı geliştirilmek üzere bir DB olmadan başlatmak istediğinizi mu sanıyorsunuz? Eğer örneğin bellek db bir yapılandırmak Başlangıçta alternatif yapılandırma dosyası geçirebilirsiniz:

start -Dconfig.resource=development.conf 

düzenleme:

için bunları uygulama config birkaç veritabanlarını yapılandırmak ve DB.getDataSource(name: String) onları almak veya bir bağlantı alabilirsiniz DB.getConnection(name: String) ile kendisine hatta DB.getConnection bir işlemi çalıştırmak [A] (name: string) (f: Bağlantı => A)

bkz: http://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.db.DB daha elle arada ne anlama geliyor $

+0

İstediğim, DB bağlantısı başarısız olduğunda, Play'in alternatif bir veri kaynağına (örneğin bir önbellek) geri dönmesidir. – rahul

+0

Bunun çok yaygın bir kullanım durumu olduğunu düşünmüyorum. Başka bir şekilde sorun yoktur: http://www.playframework.org/documentation/2.0/ScalaCache Veritabanınızı yüksek oranda kullanılabilir hale getirmelisiniz. – drexin

+0

Yani Play DB bağlantısı üzerinde çok az kontrol sağlıyor mu? – rahul

İlgili konular