2011-01-19 11 views
17

में वेब-टुकड़े की सुविधा सक्षम करें मैं टॉमकैट 7.0 और सर्वलेट एपीआई 3.0 पर कोशिश कर रहा हूं।एनोटेशन प्रोसेसिंग को अक्षम करें, लेकिन सर्वलेट एपीआई 3.0 (टॉमकैट 7)

मेरे पास सर्वलेट एपीआई 2.5 के लिए एक आवेदन था। तो मैंने Servlet API 3.0 के लिए इसे कॉन्फ़िगर करने के लिए web.xml संपादित किया। परिवर्तन के बाद टॉमकैट का प्रारंभ समय 14 सेकंड तक बढ़ गया।

तो मैंने <web-app metadata-complete="true" ... सेट किया और टॉमकैट का प्रारंभ समय सामान्य हो गया, क्योंकि टोमकैट एनोटेशन के लिए प्रत्येक वर्ग को स्कैन नहीं करता है। यह अच्छा है, लेकिन वेब-fragment.xml सुविधा भी इससे अक्षम है।

मुझे आश्चर्य है कि क्या यह टोमकैट की एनोटेशन स्कैनिंग को अक्षम करना संभव है, लेकिन वेब-fragment.xml की प्रसंस्करण को सक्षम करने के लिए।

+1

14 सेकंड तक कितना बढ़ गया? यदि यह 3 मिनट शुरू हो रहा है, तो 14 सेकंड ठीक हैं। – Bozho

उत्तर

3

दोनों टुकड़े और एनोटेशन आवेदन के मेटाडेटा हैं। इस प्रकार मेटाडाटा-पूर्ण दोनों एनोटेशन प्रसंस्करण और टुकड़ों की प्रसंस्करण के लिए लागू होता है। यदि मेटाडाटा-पूर्ण web.xml के लिए सेट है, तो एनोटेशन प्रोसेसिंग और टुकड़े प्रसंस्करण दोनों अक्षम हैं।

लेकिन, मेटाडेटा-पूर्ण भी वेब-fragments.xml पर सेट किया जा सकता है। तो, कोई एनोटेशन और टुकड़ों की चुनिंदा प्रसंस्करण कर सकता है।

मेटाडाटा-पूरा web.xml पर सक्षम करने और वेब fragments.xml पर अक्षम करने टुकड़े पर कार्रवाई करेंगे लेकिन वेब fragments.xml

+0

मैंने इसका परीक्षण किया, यह टॉमकैट 7.0.22 में काम नहीं कर रहा है। वैसे, मैं समझ में नहीं आता, अगर मैं वेब.एक्सएमएल पर मेटाडेटा-पूर्ण सक्षम करता हूं, तो एप्लिकेशन सर्वर एनोटेशन प्रसंस्करण और टुकड़ों को एकसाथ प्रोसेसिंग को छोड़ देगा। इस मामले में, web-fragments.xml में कॉन्फ़िगरेशन कैसे काम कर सकता है? इसे भी पार्स नहीं किया जा सकता है, है ना? – cn1h

+1

आपको मेटाडेटा-पूर्ण वेब.एक्सएमएल पर सेट नहीं करना चाहिए। यह वेब टुकड़े के साथ ही एनोटेशन प्रोसेसिंग को अक्षम कर देगा। आपको इसे वेब-fragments.xml पर सक्षम करना चाहिए। कृपया ध्यान से जवाब पढ़ें। –

+0

हाय रमेश, आपके त्वरित रीप्ले के लिए धन्यवाद। मैंने बस टेस्टेट किया है, मेटाडेटा को पूर्ण करें (या केवल डिफ़ॉल्ट मान लें) web.xml पर और मेटाडेटा सेट करें- वेब-fragment.xml पर सही करने के लिए पूर्ण करें टोमकैट एनोटेशन प्रोसेसिंग को छोड़ देगा, लेकिन केवल उस वेब के लिए -फ्रैगमेंट जार, है ना? क्या टोमकैट अभी भी वेब-आईएनएफ/lib के तहत अन्य जार स्कैन करता है? – cn1h

3

'पूर्ण आदेश' तत्व के उपयोग पर विचार के तहत कक्षाओं के एनोटेशन प्रसंस्करण को निष्क्रिय अपने web.xml में। सर्वलेट एपीआई 3.0 फ़ाइनल स्पेक इसका उपयोग धारा 8.2.2 में "वेब.एक्सएमएल और वेब-fragment.xml का ऑर्डर" का उपयोग करता है।

आप निर्दिष्ट कर सकते हैं सटीक वेब टुकड़े संसाधित करने के लिए, वेब-टुकड़ा के जार में कक्षाओं का एनोटेशन प्रसंस्करण को निष्क्रिय ('मेटाडाटा: पूर्ण सूची से वेब टुकड़ा में) और निश्चित रूप से से अन्य जार को बाहर इस तरह के वेब-खंड शामिल करने से प्रसंस्करण।

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