2013-11-01 15 views
25

ServletContextListener के निष्पादन के कारण आवेदन प्रारंभिकरण के आदेश को परिभाषित करने के लिए कैसे करें, यदि मेरे पास एकाधिक ServletContextListener है और उनमें से कुछ ने तैनाती वर्णनकर्ता और अन्य टिप्पणियों (@WebListener) में घोषित किया है?ServletContextListener निष्पादन आदेश

+4

परिनियोजन वर्णनकर्ता द्वारा प्राथमिकता ली जाती है और फिर एनोटेशन –

+3

अब्दुल्ला, एक टिप्पणी में जवाब क्यों? – Dave

उत्तर

52

यदि आप किसी विशेष क्रम में श्रोताओं को निष्पादित करना चाहते हैं, तो आपको उन्हें परिभाषित करने के लिए तैनाती वर्णनकर्ता का उपयोग करना चाहिए।

बयान नीचे Servlet Specification से नकल कर रहे हैं:

8.2.3:

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

आदेश वे किस क्रम में डिस्क्रिप्टर में और web.xml में पूर्ण आदेश तत्व या web-fragment.xml में एक आदेश देने के तत्व पर परिभाषित कर रहे हैं पर आधारित होगा।

विनिर्देशन (जावा ™ सर्वलेट विशिष्टता, संस्करण 3) के इस रिलीज से पहले, संदर्भ श्रोताओं को यादृच्छिक क्रम में शामिल किया गया था। सर्वलेट 3.0 के रूप में, श्रोताओं को में क्रम में बुलाया जाता है जिसे वे web.xml में घोषित किए जाते हैं।

javax.servlet.ServletContextListener के कार्यान्वयन contextInitialized विधि पर उनके आदेश के क्रम में और उनके contextDestroyed विधि में उल्टा क्रम में लागू किए गए हैं।

आप एनोटेशन के साथ कई ServletContextListeners और उनमें से कुछ तैनाती वर्णनकर्ता घोषित किये गए हैं और दूसरों है, तो अपने श्रोताओं web.xml कि पूर्वता मिल जाएगा में परिभाषित किया। नीचे बयान सर्वलेट विनिर्देश के एक ही अनुभाग (8.2.3) से नकल है:

विन्यास मुख्य web.xml या एक वेब टुकड़ा में निर्दिष्ट विन्यास एनोटेशन के माध्यम से निर्दिष्ट पर पूर्वता लेता है।

+5

स्पेक उद्धरण एक +1 हैं। – Dev

5

ऐसा लगता है आप निष्पादन का आदेश है, लेकिन आप को पता है कि यह हो सकता है अगर कुछ श्रोताओं तैनाती वर्णनकर्ता घोषित किये गए हैं और वरीयता तो कुछ एनोटेशन का उपयोग कर तैनाती वर्णनकर्ता और फिर एनोटेशन द्वारा लिया जाता है चाहता हूँ।

ध्यान दें कि सभी श्रोताओं के रचनाकारों को तैनाती वर्णनकर्ता & के बाद पहली बार एनोटेशन और फिर जीवन चक्र विधियों के क्रम में कॉल किया जाएगा।

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