का उपयोग कर आवेदन शुरू करने से पहले 2.2.x मोड का पता लगाएं। मैं अपने प्ले एप्लिकेशन को किसी विशेष एप्लिकेशन कॉन्फ़िगरेशन फ़ाइल में उस वातावरण के आधार पर इंगित करना चाहता हूं जिसमें यह चल रहा है। तीन हैं और वे मानक प्ले स्टेटस से मेल खाते हैं:जावा
- application.dev.conf
- application.test.conf
- application.prod.conf
एक सह कार्यकर्ता इस जो एक OS के माहौल स्थापित करने की आवश्यकता है करने के लिए एक विधि साझा ऑनमेंट चर
मैं ओएस चर सेट करने की आवश्यकता को खत्म करना चाहता हूं। मेरी प्राथमिकता अगर आप कमांड लाइन से play run
निष्पादित, उपयोग जो भी प्ले स्टार्टअप पर उपयोग करता है पता है कि मोड में है।
उदाहरण के लिए, उत्पादन के हिस्से के "[info] play - Application started (Dev)"
है मैं इस का उपयोग करना चाहते मेरी Global.java में जानकारी जहां मैं बहुत तरह onLoadConfig ओवरराइड:
public Configuration onLoadConfig(Configuration baseConfiguration, File f, ClassLoader loader) {
String playEnv=<some static method to get mode>;
Config additionalConfig = ConfigFactory.parseFile(new File(f,"conf/application."+playEnv+".conf"));
Config baseConfig = baseConfiguration.getWrappedConfiguration().underlying();
return new Configuration(baseConfig.withFallback(additionalConfig));
}
सब कुछ मुझे लगता है कि कैसे करना है इस के बाद आवेदन isDev(), isTest(), isProd() का उपयोग कर यानी शुरू कर दिया गया ।
क्या स्थिर तरीका है जो मोड प्रदान करता है जबकि मैं ग्लोबल.जावा में लोडकॉन्फिग पर ओवरराइड कर रहा हूं?
स्कैला में पैरामीटर 'मोड' है, जावा में नहीं है। इसलिए मैंने टिकट खोल दिया है: https://github.com/playframework/playframework/issues/2279 –
धन्यवाद एंटोनियो। मैं इस मुद्दे पर नजर रखूंगा। –