2015-07-23 6 views
16

मैं एक छद्म - लेकिन संभावित रूप से बहुत शक्तिशाली - ड्रॉपविज़ार्ड सुविधा के बारे में उत्सुक हूं जिसे Bundles कहा जाता है। दस्तावेज़ों के मुताबिक:DropWizard बंडलों का उपयोग कब करें?

एक ड्रॉपवाइजर बंडल कार्यक्षमता का एक पुन: प्रयोज्य समूह है, जो किसी एप्लिकेशन के व्यवहार के ब्लॉक को परिभाषित करने के लिए उपयोग किया जाता है।

यह देखते हुए कि DropWizard (DW) अत्यंत अच्छी तरह से प्रलेखित है, मैं हैरान कि यह वास्तव में बंडलों पर केवल विवरण है हूँ। मैं जंगल में के कुछ उदाहरण देखें:

लेकिन क्या मुझे समझ नहीं आता है: बंडलों सिर्फ कोड पैक और जार में वितरित होने लगते हैं। तो मैं सिर्फ "कच्चे" (गैर-"बंडल" -संगत) लिखने के लिए जावा कक्षाओं को लिखने के लिए क्यों नहीं लिख सकता, उन्हें एक जार में थप्पड़ मारता हूं, फिर मेरे निर्माण/संकलन क्लासपाथ पर जेएआर शामिल करता हूं, फिर विज्ञापन का उपयोग करें मेरा डीडब्ल्यू ऐप? डीडब्लू बंडल का क्या उपयोग है, और उन्हें कब उपयोग करना चाहिए?

उत्तर

6

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

+3

धन्यवाद @ user3354059 (+1) - तो मैं पूरी तरह से * प्राप्त करता हूं * बंडल का अर्थ कई डीडब्ल्यू ऐप्स में डीडब्ल्यू ऐप कार्यक्षमता का पुन: उपयोग करने के लिए होता है। मुझे लगता है कि मुझे समझ में नहीं आ रहा है कि मुझे एक "बंडल" बनाने की ज़रूरत क्यों है, सिर्फ एक सामान्य कोड को जेएआर में पैकेज करें, और मेरे प्रत्येक डीडब्ल्यू ऐप्स उस जार में परिभाषित कक्षाओं का उपयोग करें। आपके द्वारा उद्धृत सभी उदाहरण (माइग्रेशन/लिक्विबेस/आदि) को सामान्य जेएआर में भी पैक किया जा सकता है - किसी भी बंडल एपीआई के अनुरूप नहीं - और फिर मेरे सभी डीडब्ल्यू ऐप्स उस जेएआर पर निर्भर हो सकते हैं और डीबी को पूरा करने के लिए अपनी कक्षाओं का उपयोग कर सकते हैं। माइग्रेशन। मुझे पता है कि मैं कुछ * गायब हूं, मैं इसे देख नहीं रहा हूं। – smeeb

+1

शायद यह उपयोग की आसानी है। मुझे आपके द्वारा आवश्यक कुछ कार्यों के लिए पूरी लाइब्रेरी बनाने के बजाय बंडलों को जोड़ने के लिए कोड की कुछ पंक्तियां जोड़ने के लिए बहुत आसान लगता है। – user3354059

+1

धन्यवाद @ user3354059, मैं "ड्रॉपविज़ार्ड के लिए अपना कस्टम बंडल कैसे बनाएं" के लिए गुगल रहा था, लेकिन मैंने कोई ट्यूटोरियल नहीं किया जो मुझे अपना खुद का बंडल बनाने में मदद करता है। मुझे बस एक ही लिंक मिला है जो आपकी प्रतिक्रिया है। लेकिन फिर भी, विभिन्न, चीजें नहीं हैं। मैं समझता हूं कि हम डीडब्लू (ड्रॉपवार्ड) बंडल के रूप में एक पुन: प्रयोज्य घटक बनाते हैं, लेकिन अभी भी स्पष्ट नहीं हैं कि डीडब्ल्यू बंडल का जीवन चक्र क्या है, इसे कार्यान्वित करने के लिए इंटरफ़ेस की आवश्यकता क्या है, क्या आप कुछ ट्यूटोरियल को इंगित कर सकते हैं जो मुझे मेरी मदद करने में मदद करते हैं अपने डीडब्ल्यू बंडल। –

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