2009-05-19 11 views
8

क्या होगा यदि आप grails के लिए एक अलग परियोजना शुरू नहीं करना चाहते हैं, बल्कि इसके बजाय एक मौजूदा वेबपैप में चुपके?मौजूदा वसंत आवेदन में grails को एकीकृत करना?

मुझे कुछ नई इकाइयों के लिए एक व्यवस्थापक इंटरफ़ेस/क्रूड बनाना है और सोचा कि यह grails सीखने का एक सही तरीका होगा।

उत्तर

3

मैं एक आवेदन Grails ऐप और एक स्प्रिंग ऐप के साथ बनाने की कोशिश कर रहा हूं।

मैंने ग्रिल ऐप को वसंत में छिपाने की कोशिश की है, लेकिन यह "असंभव" है। ग्रिल ऐप में स्प्रिंग ऐप को छीनना आसान है। Grails जानता है कि वसंत क्या है, लेकिन वसंत को Grails क्या है के बारे में कोई जानकारी नहीं है।

this आलेख में आप Graib में अपनी हाइबरनेट मैपिंग फ़ाइलों या एनोटेशन का उपयोग करने के बारे में उपयोगी जानकारी प्राप्त कर सकते हैं, इसलिए आपको सब कुछ रीमेप करने की आवश्यकता नहीं है। इसके अलावा आप अपने सभी जावा क्लॉज का उपयोग कर सकते हैं (उन्हें src/java में डाल दें)। आप ConfC springxt.xml में conf/spring/resource.xml में परिभाषित बीन्स डाल सकते हैं। आप उन्हें एप्लिकेशन कॉन्टेक्स्ट में छोड़ सकते हैं, लेकिन मुझे कुछ समस्याएं आई हैं। मैंने नौकरी समाप्त नहीं की है (लगभग) और यह अच्छा लग रहा है।

0

जब तक मौजूदा ऐप में सही डीआईआर संरचना नहीं होती है, तब तक इसे "इसमें घुसपैठ करना मुश्किल होगा", वास्तव में यह सुनिश्चित करता है कि कैसे grails इसे पसंद करते हैं - आखिरकार, कॉन्फ़िगरेशन पर सम्मेलन वह जगह है जहां grails की शक्ति आती है।

आप मूल इंटरफ़ेस को मूल/मौजूदा वसंत ऐप में "अलग" ऐप के रूप में करने का प्रयास कर सकते हैं और मौजूदा डेटाबेस को grails डोमेन ऑब्जेक्ट्स पर मैप कर सकते हैं। हालांकि मुझे यकीन नहीं है कि मौजूदा ऐप पर अधिक जानकारी के बिना आप उन्हें आसानी से कैसे चलाएंगे। हालांकि यह निश्चित रूप से संभव है।

+0

एक अलग ऐप में इकाइयों के लिए व्यवस्थापक डालने में एक समस्या मुख्य ऐप में एक अवैध एल 2 कैश होगी। इसका समाधान व्यवस्थापक ऐप में कुछ तंत्र बनाने के लिए हो सकता है जो मुख्य ऐप पर कुछ कैश अमान्यता सेवा या वितरित कैश साझा करने के लिए कहता है। मुझे एक आसान समाधान की उम्मीद थी ताकि grails भाग और ऐप का वसंत हिस्सा कैश और राज्य साझा कर सके। –

+0

यदि आप एल 2 कैश को अक्षम करते हैं तो क्या यह खराब प्रदर्शन को प्रभावित करेगा? –

+0

एल 2 कैश के बारे में निश्चित नहीं है। कोशिश करो और देखें? – Chii

0

मैं मानता हूं कि आपके व्यवस्थापक इंटरफ़ेस का निर्माण करना Grails सीखने के लिए एक अच्छा अभ्यास है, और पिछले जवाब के साथ भी सहमत है कि मौजूदा स्प्रिंग एप्लिकेशन के साथ एकीकृत करना असंभव नहीं है। आप शायद इसे पूरा कर सकते हैं, लेकिन सिरदर्द इसके लायक नहीं होगा।

ग्रेल्स अपने ओआरएम के लिए हाइबरनेट के शीर्ष पर बनाया गया है, इसलिए यदि आप पहले से ही इस स्प्रिंग ऐप के साथ हाइबरनेट का उपयोग कर रहे हैं तो आप इसे अपने लाभ के लिए काम कर सकते हैं। प्री-मौजूदा हाइबरनेट मॉडल का उपयोग करने के लिए Grails ऐप को कॉन्फ़िगर करना बहुत मुश्किल नहीं है, और यह Grails दस्तावेज़ों में अच्छी तरह से समझाया गया है।

तो, मैं आपके व्यवस्थापक कंसोल को एक स्वतंत्र Grails ऐप के रूप में बनाने की सलाह दूंगा लेकिन आपके पास पहले से मौजूद हाइबरनेट मॉडल का उपयोग करें, अगर वास्तव में आपने हाइबरनेट का उपयोग किया है।

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