Tôi đang sử dụng thạch anh trong dự án của mình. ứng dụng web của tôi dường như đã gây ra rò rỉ bộ nhớ khi nó dừng lại, lỗi này là:Làm thế nào để ngăn chặn rò rỉ bộ nhớ trong thạch anh
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.
tôi đã sử dụng org.quartz.ee.servlet.QuartzInitializerServlet
và org.quartz.ee.servlet.QuartzInitializerListener
. Mã cho nhà máy của tôi là:
StdSchedulerFactory factory = (StdSchedulerFactory) context.getAttribute(QuartzInitializerListener.QUARTZ_FACTORY_KEY);
và cài đặt cho thạch anh trong web.xml là:
<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>
hãy giúp tôi để giải quyết rò rỉ bộ nhớ này !!
không có tiền tố "thạch anh:" là chính xác. vui lòng truy cập: http: //quartz-scheduler.org/api/2.0.0/org/quartz/ee/servlet/QuartzInitializerListener.html. –
Bạn đang đọc tài liệu sai: liên kết của bạn là "Trình nghe" và bạn đang định cấu hình "Servlet". Vì lý do nào đó, họ không cư xử theo cùng một cách. Xem: http://quartz-scheduler.org/api/2.0.0/org/quartz/ee/servlet/QuartzInitializerServlet.html –
cài đặt này dành cho tiền tố org.quartz.ee.servlet.QuartzInitializerServlet và "quartz:" là cho org.quartz.ee.servlet.QuartzInitializerListener. Tuy nhiên, tôi xóa tiền tố "thạch anh:" nhưng không sửa lỗi rò rỉ bộ nhớ. –