मैं अपनी पहली Grails प्लगइन विकसित कर रहा हूँ। इसे एक webservice का उपयोग करना है। प्लगइन को जाहिर तौर पर webservice url की आवश्यकता होगी। ग्रोवी कक्षाओं में इसे हार्डकोड किए बिना इसे कॉन्फ़िगर करने का सबसे अच्छा तरीका क्या है? विभिन्न वातावरण के लिए अलग-अलग कॉन्फ़िगरेशन के साथ यह अच्छा होगा।Grails प्लगइन का विन्यास
उत्तर
यदि यह केवल एक छोटा (पढ़ा गया: एक आइटम) कॉन्फ़िगरेशन विकल्प है, तो यह गुण फ़ाइल में स्लर्प करना आसान हो सकता है। यदि कुछ कॉन्फ़िगरेशन विकल्प हैं, और उनमें से कुछ गतिशील होना चाहिए, तो मैं सुझाव दूंगा कि एसीगी सुरक्षा प्लगइन क्या करता है - फ़ाइल को /grails-app/conf/plugin_name_config.groovy में जोड़ें।
जोड़ा गया बोनस यह है कि उपयोगकर्ता अपने कॉन्फ़िगरेशन विकल्पों की गणना करने के लिए ग्रोवी कोड निष्पादित कर सकता है (गुण फ़ाइलों का उपयोग करने में बहुत बेहतर), साथ ही आसानी से विभिन्न परिवेशों को करने में सक्षम है।
http://groovy.codehaus.org/ConfigSlurper देखें, जो grails आंतरिक रूप से config.groovy जैसे slurp configs के लिए उपयोग करते हैं।
//e.g. in /grails-app/conf/MyWebServicePluginConfig.groovy
somePluginName {
production {
property1 = "some string"
}
test {
property1 = "another"
}
}
//in your myWebServicePlugin.groovy file, perhaps in the doWithSpring closure
GroovyClassLoader classLoader = new GroovyClassLoader(getClass().getClassLoader())
ConfigObject config
try {
config = new ConfigSlurper().parse(classLoader.loadClass('MyWebServicePluginConfig'))
} catch (Exception e) {/*??handle or what? use default here?*/}
assert config.test.property1.equals("another") == true
आप इसे सरल (टीएम) रखना चाहते हैं। आप कॉन्फ़िगर.groovy में सीधे यूआरएल को परिभाषित कर सकते हैं- प्रति-पर्यावरण सेटिंग्स को शामिल करना- और grailsApplication.config (अधिकांश मामलों में) या एक ConfigurationHolder.config ऑब्जेक्ट का उपयोग करके आवश्यकतानुसार अपनी प्लगइन से इसे एक्सेस करें (details in the manual देखें)।
एक अतिरिक्त बोनस के रूप में सेटिंग को मानक जावा प्रॉपर्टी फाइलों में या grails.config.locations में निर्दिष्ट अन्य कॉन्फ़िगरेशन फ़ाइलों में भी परिभाषित किया जा सकता है।
उदा। Config.groovy
में// This will be the default value...
myPlugin.url=http://somewhe.re/test/endpoint
environments {
production {
// ...except when running in production mode
myPlugin.url=http://somewhe.re/for-real/endpoint
}
}
बाद में, अपने प्लगइन द्वारा प्रदान की
import org.codehaus.groovy.grails.commons.ConfigurationHolder
class MyPluginService {
def url = ConfigurationHolder.config.myPlugin.url
// ...
}
- 1. SublimeLinter प्लगइन का विन्यास पीएचपी
- 2. Grails प्लगइन
- 3. ग्रहण Maven प्लगइन विन्यास समस्या
- 4. प्लगइन निष्पादन जीवन चक्र विन्यास
- 5. प्रभावी grails प्लगइन विकास
- 6. Grails प्लगइन अक्षम करें
- 7. Grails खोजेबल प्लगइन
- 8. Grails प्लगइन प्लगइन का रूट या स्थापित निर्देशिका
- 9. Grails डाटाबेस माइग्रेशन प्लगइन मुद्दे
- 10. Maven के घाट प्लगइन एसएसएल विन्यास मुद्दा
- 11. प्लगइन त्रुटि: निष्पादन जीवन चक्र विन्यास
- 12. एमईएफ प्लगइन अपनी विन्यास फाइलों के साथ?
- 13. एक्सएमएल विन्यास या विन्यास?
- 14. grails/बाहरी विन्यास/grails.config.locations - पूर्ण पथ फ़ाइल "मौजूद नहीं है"?
- 15. Grails कैश-एशैच प्लगइन और टीटीएल मान
- 16. Grails MongoDB प्लगइन: एंबेडेड संग्रह बनाम संदर्भ
- 17. Grails 2.0 में स्थानीय प्लगइन कैसे चलाएं?
- 18. Grails संसाधन प्लगइन और AJAX लोड जावास्क्रिप्ट
- 19. Grails के लिए उपयोगकर्ता प्रबंधन प्लगइन/ढांचे?
- 20. ग्रहण का विन्यास jad
- 21. log4net विन्यास विन्यास फाइल
- 22. Grails
- 23. com.jayway.maven.plugins.android.generation2: प्लगइन निष्पादन जीवन चक्र विन्यास द्वारा कवर नहीं है?
- 24. विन्यास
- 25. Grails
- 26. प्लगइन के साथ vim विन्यास बैकअप कैसे करें?
- 27. वैश्विक विन्यास का उचित कार्यान्वयन
- 28. grails
- 29. grails
- 30. Grails में सेटिंग सत्र टाइमआउट स्प्रिंग सुरक्षा कोर प्लगइन
अजीब विचार सिर्फ एक संपत्ति के लिए अलग कॉन्फ़िग फ़ाइल के लिए एक सेवा में, 'Config.groovy' है कि संपत्ति के लिए इस्तेमाल किया जाना चाहिए। – tig
@tig AFAIK, प्लगइन पैक होने पर 'Config.groovy' छोड़ा जाता है, और इसे कॉन्फ़िगर करने से प्लगइन का परीक्षण करने के लिए, नहीं? – peterp