2012-10-13 11 views
13

पर डेटाबेस आरंभ करें मैंने this पढ़ा है लेकिन मुझे समझ में नहीं आता कि यह कैसे काम करता है। जब मैं अपना वेब एप्लिकेशन शुरू करता हूं तो मैं एक प्रॉपर्टी फ़ाइल लोड करना चाहता हूं और अपना कनेक्शन पूल सेट करना चाहता हूं। जाहिर है, मैं इसे केवल एक बार और एक ही स्थान पर करना चाहता हूं ताकि जरूरत पड़ने पर मैं इसे बदल सकूं। नियमित सर्लेट के साथ, मैं बस अपना प्रारंभिक कोड सर्वलेट की init() विधि में डालता हूं, लेकिन आपके पास जर्सी सर्वलेट के साथ इसका उपयोग नहीं है। तो मैं यह कहां करूँ? ऊपर दिए गए लिंक में श्रोताओं कैसे काम करते हैं?जर्सी वेबपैप स्टार्टअप

उत्तर

37

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

public class ServletContextClass implements ServletContextListener 
    { 
      public static Connection con; 

    public void contextInitialized(ServletContextEvent arg0) 
    { 
     con.getInstance();  
    }//end contextInitialized method 


    public void contextDestroyed(ServletContextEvent arg0) 
    { 
     con.close();  
    }//end constextDestroyed method 

} 

web.xml विन्यास

<listener> 
    <listener-class>com.nameofpackage.ServletContextClass</listener-class> 
</listener> 

यह अब जब आवेदन तैनात किया जाता है आवेदन ServletContextClass कॉल और कनेक्शन या किसी अन्य संसाधन जगह contextInitialized विधि में करने के लिए कुछ क्या समान दृष्टांत होगा Servlet init विधि क्या करता है।

3

चूंकि आपको स्टार्टअप समय पर जर्सी को संशोधित करने की आवश्यकता नहीं है, इसलिए शायद आप एक सार संसाधन संसाधन नहीं चाहते हैं। आप क्या चाहते हैं javax.servlet.ServletContextListener है। आप listener तत्वों को अपने web.xml में उसी तरह जोड़ सकते हैं जैसे आप सर्वलेट तत्व जोड़ते हैं। जब आपका संदर्भ (वेब ​​एप्लिकेशन) पहले बनाया जाता है और जर्सी सर्वलेट शुरू होने से पहले ServletContextListener को कॉल किया जाएगा। आप इस श्रोता में डेटाबेस के लिए जो कुछ भी कर सकते हैं वह कर सकते हैं और जब आप जर्सी का उपयोग करना शुरू करेंगे तो यह तैयार हो जाएगा।