加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spring Quartz =内存泄漏

发布时间:2020-12-15 01:31:37 所属栏目:大数据 来源:网络整理
导读:我使用以下库. quartz-2.2.1 spring-webmvc-3.2.9.RELEASE 在Apache Tomcat / 7.0.52(Ubuntu)上. 我使用Spring来配置Quartz. @Configurationclass QuartzConfig { @Bean FactoryBean 今天搜索了很多为什么调度程序任务没有正确关闭 Jun 24,2014 5:14:38 AM o

我使用以下库.

> quartz-2.2.1
> spring-webmvc-3.2.9.RELEASE

在Apache Tomcat / 7.0.52(Ubuntu)上.

我使用Spring来配置Quartz.

@Configuration
class QuartzConfig {
    @Bean
    FactoryBean

今天搜索了很多为什么调度程序任务没有正确关闭…

Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-2] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-3] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-4] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-5] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-6] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-7] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-8] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-9] but has failed to stop it. This is very likely to create a memory leak.
Jun 24,2014 5:14:38 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/feeder##1.5.0] appears to have started a thread named [scheduler_Worker-10] but has failed to stop it. This is very likely to create a memory leak.

丑陋的黑客是编写SchedulerFactoryBeanWithShutdownDelay类.

public class SchedulerFactoryBeanWithShutdownDelay extends SchedulerFactoryBean {
    private static final int SHUTDOWN_TIMEOUT = 2000;

    @Override
    public void destroy() throws SchedulerException {
        log.debug("Start shutdown of Quartz scheduler factory bean");
        super.destroy();
        try {
            log.debug("wait {}ms to shutdown Quartz",SHUTDOWN_TIMEOUT);
            Thread.sleep(SHUTDOWN_TIMEOUT);
            log.debug("Quartz scheduler shutdown completed");
        } catch (InterruptedException e) {
            log.error("",e);
        }
    }
}

但是这个问题应该已经关闭:https://jira.terracotta.org/jira/browse/QTZ-192

我犯了错误还是可以确认?

最佳答案
Tomcat内存泄漏excellent article.阅读文章,启动您的Web应用程序,让Quartz作业执行,然后停止Web应用程序,然后进行Tomcat JVM的堆转储,将堆转储加载到Eclipse MAT中,找出哪些类导致内存泄漏.那么你应该能够解决这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读