मैं जावा वेब-एप्लिकेशन विकसित कर रहा हूं। एप्लिकेशन ल्यूसीन इंडेक्स से जुड़ता है। मैं इंडेक्सशियर का सिंगलटन उदाहरण बनाता हूं। यह उदाहरण कुछ फाइलें खोलता है। जब मैं वेब-एप्लिकेशन को पुन: नियोजित करता हूं, तो इंडेक्सशियर के पहले उदाहरण द्वारा खोले गए फाइलें खुली रहती रहती हैं, और एक और उदाहरण पुन: नियोजित अनुप्रयोग द्वारा बनाया जाता है। कुछ पुनर्वितरणों के बाद, सिस्टम "बहुत अधिक खुली फाइलें" अपवाद फेंकना शुरू कर देता है। मैं पुनर्वितरण से पहले पुराना उदाहरण बंद करना चाहता हूं, ताकि पुरानी फाइलें बंद हो जाएं, लेकिन मैं यह नहीं समझ सकता कि यह कैसे करें? क्या web.xml में कोई निर्देश है जिसे लोड-ऑन-स्टार्टअप के समान, गैर-तैनाती पर बुलाया जाता है? मैं एक jboss सर्वर पर वेब अनुप्रयोग चला रहा हूँ।जावा वेब-एप्लिकेशन से अनावश्यक पर कॉल विधि
8
A
उत्तर
17
ServletContextListener
लागू करें।
@WebListener
public class LuceneConfig implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
// Do your job here during webapp startup.
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// Do your job here during webapp shutdown.
}
}
आप सर्वलेट 3.0 अभी तक (जो पहले से ही बाहर 2 साल के लिए यह है), तो आप @WebListener
टिप्पणी निकालने और इसे मैन्युअल रजिस्टर web.xml
में करने के लिए इस प्रकार की जरूरत नहीं कर रहे हैं:
<listener>
<listener-class>com.example.LuceneConfig</listener-class>
</listener>
2
यदि आप javax.servlet.ServletContextListener
लागू करते हैं और web.xml
में <listener>
के रूप में उस श्रेणी को पंजीकृत करते हैं, तो संदर्भ को अनलोड किए जाने से पहले contextDestroyed()
विधि कॉल की जाएगी।
संबंधित मुद्दे
- 1. जावा - जेडियलॉग अनावश्यक
- 2. अनावश्यक प्रतिनिधि कन्स्ट्रक्टर कॉल निकालें?
- 3. रनटाइम पर कॉल विधि
- 4. जावा - वस्तु राज्य विधि कॉल
- 5. अधिसूचना पर एंड्रॉइड कॉल विधि
- 6. आप जावा से स्कैला सिंगलटन विधि कैसे कॉल करते हैं?
- 7. जावा 7 डायमंड ऑपरेशन विधि कॉल में
- 8. मैं जावास्क्रिप्ट से जावा इंस्टेंस की विधि कैसे कॉल करूं?
- 9. जेनेरिक तरीके से रीट्रीइंग विधि कॉल
- 10. जावा क्लास से पाइथन विधि कैसे कॉल करें?
- 11. जावा में कोई विधि कैसे कॉल करें?
- 12. जावा विधि के साथ कास्टिंग कॉल
- 13. विधि कॉल
- 14. विधि कॉल
- 15. किसी टेम्पलेट से मॉडल पर एक विधि को कॉल करना
- 16. टाइमर थ्रेड से जीयूआई थ्रेड पर कॉल विधि
- 17. जेएनआई, कॉल बूलियन विधि
- 18. बाइंड विधि कॉल
- 19. कॉल विधि?
- 20. कॉल विधि
- 21. जावा इंटरफ़ेस विधि पर विधि कॉल करना क्यों संभव है? [तुलनीय]
- 22. सी # async कॉल विधि समय-समय पर
- 23. जेबीओएस स्टार्टअप पर ईजेबी में कॉल विधि
- 24. विधि की शुरुआत या समाप्ति पर कॉल बेस विधि?
- 25. अनावश्यक गणना से कैसे बचें?
- 26. जीपीयू पर जावा: जीपीयूइन सादे जावा पर सीधे विधि पूरी तरह से जावा
- 27. जावा से कॉल सी फ़ंक्शन
- 28. जावा से कॉल स्कैला कोड?
- 29. जावा में, मैं व्युत्पन्न वर्ग में ओवरराइडिंग विधि से बेस क्लास की विधि कैसे कॉल करूं?
- 30. जावा से आराम से सेवा कॉल करना
यह इसे पंजीकृत किए बिना यहां काम करता है। पेरा 4.1 (173 बिल्ड) पर मोजाररा 2.3.3 का उपयोग करना। – Roland
यकीन है कि यह ठीक काम करेगा। Payara 4.x Servlet 3.1 आधारित है। फिर 'वेबलिस्टर' ठीक काम करेगा। उत्तर के रूप में, यह तब तक काम नहीं करेगा जब आप अभी तक सर्वलेट 3.0 पर नहीं हैं। जेएसएफ इंप/संस्करण अप्रासंगिक है क्योंकि यह यहां कोई भूमिका निभाता नहीं है। केवल सर्वलेट संस्करण प्रासंगिक है। – BalusC
इसे स्पष्ट करने के लिए धन्यवाद। – Roland