2012-05-30 23 views
6

किसी डेटाबेस तक पहुंचने के लिए किसी को फ़ाइल फ़ाइल में डीबी विवरण निर्दिष्ट करना होगा।सशर्त रूप से डेटाबेस से कनेक्ट करें

यदि डीबी ऊपर है तो सब ठीक काम करता है।

यदि डीबी नीचे है तो प्ले अपवाद फेंकता है, जिसे मैं नियंत्रित नहीं कर सकता।

मैं सशर्त रूप से डीबी से कनेक्ट करना चाहता हूं। आइए कहें कि अगर कोई ध्वज कहीं भी सेट किया गया है तो मैं केवल डीबी से कनेक्ट करना चाहता हूं। क्या प्ले में डीबी से कनेक्ट करने का कोई और मैनुअल तरीका है?

अद्यतन: मुझे लगता है कि मैं बहुत स्पष्ट नहीं हूं।

मैं चाहता हूं कि डीबी डाउन हो और अन्य वैकल्पिक स्रोतों से डेटा प्राप्त करने में ऐप विफल न हो। मैं इसे प्ले में कैसे पूरा कर सकता हूं?

+0

क्या आप और अधिक मैनुअल माध्यम से मतलब है? यदि आप चाहते हैं, तो आप हमेशा जेडीबीसी या जो भी डेटाबेस एपीआई चाहते हैं उस पर फ़ॉलबैक कर सकते हैं। –

उत्तर

1

मुझे लगता है कि आप विकास के लिए डीबी के बिना अपना ऐप शुरू करना चाहते हैं? आप जहां उदाहरण के लिए स्मृति DB में एक कॉन्फ़िगर स्टार्टअप पर एक विकल्प के कॉन्फ़िग फ़ाइल पारित कर सकते हैं:

start -Dconfig.resource=development.conf 

संपादित करें:

आप अपने ऐप config में कई डेटाबेस कॉन्फ़िगर और उन्हें DB.getDataSource(name: String) साथ मिलता है या एक कनेक्शन प्राप्त कर सकते हैं DB.getConnection(name: String) साथ यह करने के लिए या यहां तक ​​कि DB.getConnection के साथ एक सौदे को चलाने [एक] (नाम: स्ट्रिंग) (च: कनेक्शन => ए)

देखें: http://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.db.DB $

+0

डीबी कनेक्शन विफल होने पर डेटा के वैकल्पिक स्रोत (उदाहरण के लिए कैश) पर फ़ॉलबैक करने के लिए मुझे क्या चाहिए। – rahul

+0

मुझे नहीं लगता कि यह एक बहुत ही आम उपयोग केस है। दूसरी तरफ कोई समस्या नहीं है: http://www.playframework.org/documentation/2.0/ScalaCache आपको अपने डेटाबेस को अत्यधिक उपलब्ध बनाना चाहिए। – drexin

+0

तो प्ले डीबी कनेक्शन पर बहुत कम नियंत्रण प्रदान करता है? – rahul

संबंधित मुद्दे