当前位置: 首页 > 知识库问答 >
问题:

Spring调度器任务导致tomcat内存泄漏

张森
2023-03-14

我使用spring scheduler运行使用cron计时器的方法,如下所示。应用程序至少有50个与下面用粗体表示的类相同的调度器bean。我们通过在属性部分中给出的xml传递配置参数来创建新bean。但是我们从Tomcat6.0.36中得到一个错误,如下所示为斜体文本。这是一个问题吗?有什么方法可以克服这个错误。如果我们像下面给出的那样添加了很多计划任务,这不会影响应用程序的性能吗?

严重:web应用程序[/app]创建了一个ThreadLocal,其键类型为[java.lang.ThreadLocal](值[java.lang.ThreadLocal@757fad])和值类型为[org.mozilla.javascript.context[]](值[[lorg.mozilla.javascript.context;@18e915a]),但在web应用程序停止时未能删除它。这很可能造成内存泄漏。

<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="taskSchedulerClass" method="callScheduler" cron="0 0/4 * * * *"/> </task:scheduled-tasks>

<task:scheduler id="myScheduler" pool-size="10"/>

**<bean id="taskSchedulerClass" class="com.abc.efg.util.xyz">**
     <property name="xmlName" value="xyz.xml" />  </bean>

共有1个答案

谷梁宏恺
2023-03-14

Rhino的上下文清理只针对tomcat 7进行了改进:https://issues.apache.org/bugzilla/show_bug.cgi?id=49159。所以您仍然会进入Tomcat6。您的错误似乎与您的计划程序无关。

 类似资料:
  • 我想首先说,这是我第一次必须处理性能,因为这是我第一次开发一个android应用程序。 该应用程序是一个源代码编辑器,在这里你可以打开文件,修改它们,并将它们保存回来。该应用程序由4个部分组成: 导航器视图:包含打开文件的ListView和打开文件夹的TreeView。 代码视图容器:它保存包含实际代码的视图。 代码容器:这是一个小视图,包含一个文本视图和一个自定义EditText(由我扩展Edi

  • 我使用石英版和Spring Boot版。它表现正常,一切正常。但是当我试图关闭这个应用程序时,问题出现了。日志显示有内存泄漏... 我的石英配置; 我有两个班,执行如下工作; 另一个班也同样做着不同的事情。 调度器工厂Bean如下; 我得到了像下面这样的tomcat日志; 查阅了quartz文档,并在properties中添加了以下内容:; 第一条线程消息消失了,但关于worker-2的第二条消息

  • 我使用spring调度器任务在固定间隔后调用类中的方法,如下所示 一旦调度程序触发init方法。init方法将使用线程池执行器来执行队列中的所有作业。 问题:执行init方法的初始线程是否会等待init方法中的所有处理(由executor service通过生成新线程来完成)完成? 调度器任务的池大小属性仅用于触发任务,而不是用于执行或处理被触发任务内部的逻辑。

  • 如果我有一个垃圾收集器来跟踪分配的每个对象,并在它们不再有对它们的可用引用时立即释放它们,你还会有内存泄漏吗? 考虑到内存泄漏是指没有任何引用的分配,这不是不可能的吗?还是我遗漏了什么? 编辑:所以我认为内存泄漏是您在代码中不再引用的分配。您仍然可以引用的大量累积分配不是我在这里考虑的泄漏。 我也只是在谈论普通的G.C.,已经有一段时间了,但我知道像循环引用这样的案例不会把他们绊倒。我不需要任何语

  • 我有一些和等,但是我没有设置。你觉得会是那样吗? 你有什么想法或建议吗? PS:该应用程序在Ubuntu机器上运行 多谢.

  • 严重:web应用程序[]创建了一个ThreadLocal,其键类型为[com.box.sdk.boxDateFormat$1](值为[com.box.sdk.boxDateFormat$1@275AB696])和值类型为[java.text.SimpleDateFormat](值为[java.text.SimpleDateFormat@faabb360]),但在web应用程序停止时未能删除它。线程