में मेमोरी लीक को कैसे रोकें मैं अपने प्रोजेक्ट में क्वार्ट्ज का उपयोग कर रहा हूं। मेरे वेब अनुप्रयोग जाहिरा तौर पर एक स्मृति रिसाव का कारण बना है जब यह बंद हो जाता है, त्रुटि है:क्वार्ट्ज
SEVERE: A web application appears to have started a TimerThread named [Timer-12] via the java.util.Timer API but has failed to stop it. To prevent a memory leak, the timer (and hence the associated thread) has been forcibly cancelled.
Jan 2, 2013 6:55:35 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: A web application appears to have started a thread named [DefaultQuartzScheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak.
मैं org.quartz.ee.servlet.QuartzInitializerServlet
और org.quartz.ee.servlet.QuartzInitializerListener
इस्तेमाल किया। मेरे कारखाने के लिए कोड है:
StdSchedulerFactory factory = (StdSchedulerFactory) context.getAttribute(QuartzInitializerListener.QUARTZ_FACTORY_KEY);
और क्वार्ट्ज के लिए सेटिंग्स web.xml में है:
<servlet>
<servlet-name>
QuartzInitializer
</servlet-name>
<display-name>
Quartz Initializer Servlet
</display-name>
<servlet-class>
org.quartz.ee.servlet.QuartzInitializerServlet
</servlet-class>
<load-on-startup>
1
</load-on-startup>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>wait-on-shutdown</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>start-scheduler-on-load</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<context-param>
<param-name>quartz:shutdown-on-unload</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>quartz:wait-on-shutdown</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>quartz:start-on-load</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>
org.quartz.ee.servlet.QuartzInitializerListener
</listener-class>
</listener>
कृपया मुझे इस स्मृति रिसाव को हल करने में मदद !!
नहीं, "क्वार्ट्ज:" उपसर्ग सही है। कृपया यहां जाएं: http: //quartz-scheduler.org/api/2.0.0/org/quartz/ee/servlet/QuartzInitializerListener.html। –
आप गलत दस्तावेज पढ़ रहे हैं: आपका लिंक "श्रोता" के लिए है और आप "सर्वलेट" को कॉन्फ़िगर कर रहे हैं। किसी कारण से, वे वैसे ही व्यवहार नहीं करते हैं। देखें: http://quartz-scheduler.org/api/2.0.0/org/quartz/ee/servlet/QuartzInitializerServlet.html –
यह सेटिंग org.quartz.ee.servlet.QuartzInitializerServlet और "quartz:" उपसर्ग के लिए है org.quartz.ee.servlet.QuartzInitializerListener के लिए। हालांकि, मैं "क्वार्ट्ज:" उपसर्ग हटाता हूं लेकिन स्मृति रिसाव को सही नहीं करता हूं। –