Tomcat常见问题解决 – The web application appears to have started a thread named [FileWatchdog]

Tomcat常见问题解决 – The web application appears to have started a thread named [FileWatchdog]Tomcat常见问题解决 – The web application appears to have started a thread named [FileWatchdog]

大家好,又见面了,我是你们的朋友全栈君。

转自:http://blog.csdn.net/ego_ecust/article/details/65442622?locationNum=4&fps=1

现象:

停止Tomcat时,catalina.log里输出提示信息:

SEVERE: The web application [/xxx] appears to have started a thread named [FileWatchdog] but has failed to stop it. This is very likely to create a memory leak.

原因:

导致这个错误的原因是在web.xml里配置了:

[html] 
view plain
 copy

  1. <context-param>  
  2.     <param-name>log4jRefreshInterval</param-name>  
  3.     <param-value>3000</param-value>  
  4. </context-param>  

所以,启动Tomcat的同时启动了一个检测log4j.properties变化的线程,但在1.2.x版本的log4j实现中,这个线程无法被interrupt,所以会出现这个错误。

事实上,这个错误在2002年的时候就出现了,只不过一直没有被修复,详情可参考:

ASF Bugzilla – Bug 4913 org.apache.log4j.helpers.FileWatchdog should allow external interrupt()

log4j官方原先计划在1.3版本中修复,但后来,就没有后来的1.3版本了,直接到了2.x版本。1.2.x版本和2.x版本之间不兼容,无法平滑升级。


解决办法:

1、将log4j升级到2.x版本;
2、去掉自动检测这个配置(事实上95%以上的场景都没有必要);
3、自己写个ServletContextListener强行中止该线程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106181.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言学生成绩管理系统设计 《C语言程序设计》实训报告[通俗易懂]

    C语言学生成绩管理系统设计 《C语言程序设计》实训报告[通俗易懂]一、课程设计题目《学生成绩管理系统设计》二、实训目的(1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。(2)掌握C++的基本概念和基础知识。(3)通过训练能够读懂较为复杂的C++语言源程序并具备基本C++语言程序设计的能力。(4)通过实训,培养自己编写、调试、分析程序的能力。(5)培养自己独立解决问题,查找资料的能力。同学之间相互帮助,相互交流,相互合作的团队精神。(6)培养自己良好的学习兴趣,独立的编程风格。(7)通过实训检查自己学习上的

    2022年6月20日
    32
  • siamfc-pytorch代码讲解(三):demo&track

    siamfc-pytorch代码讲解(三):demo&track我之前的两篇博客:siamfc-pytorch代码讲解(一):backbone&headsiamfc-pytorch代码讲解(二):train&siamfc代码来自:https://github.com/huanglianghua/siamfc-pytorch今天主要看一下demo的部分,也就是涉及到测试tracking的部分。直接上代码:一、demo.pyfro…

    2022年10月1日
    2
  • Java开发谈:2021Java高级面试题及答案

    Java开发谈:2021Java高级面试题及答案前言最近一段时间发现经常看到很多人,对Spring源码比较感兴趣,日常开发中,无论你做什么什么项目,大部分都离不开Spring生态的那一套东西,所以很多人对Spring底层源码实现很感兴趣,但是有些从来没有接触过源码的开发者,在看Spring源码的过程中确实及其难受的,为什么,大部分人看源码基本都是debug一点一点去看的,最后发现,越追越离谱,越追越深,到最后都追到JDK源码了,也没有明白是什么意思!对于学习源码,我的看法是,先去完全的熟悉它的用法,想一下如果让你来实现,你会怎么实现!有了这些想法之后

    2022年7月18日
    16
  • git使用步骤_小猪酸奶的使用步骤

    git使用步骤_小猪酸奶的使用步骤厉害了!小猪用Git一年多后的精华总结标签:Git描述性文字:不要问我为什么用这种骚猪风格的标题,现在写博文,标题不骚,人家都不乐意看~接触Git到现在有一年多了,对Git使用也是日渐精进,虽说不上很熟络,但也算入门,决定年前总结下,所以有了此文。Git博大精深,还有很多的东西需要学习,比如自己搭建啊,一些便利工具的使用啊,一些疑难杂症解决方案啊等等,当然这就是下一话的事了。本文讲述的

    2022年9月22日
    2
  • 软件测试面试笔试题及答案_软件测试工程师面试题

    软件测试面试笔试题及答案_软件测试工程师面试题软件缺陷:1)软件未实现产品说明书要求的功能2)软件出现了产品说明书指明不应该出现的错误3)软件实现了产品说明书未提到的功能4)软件未实现产品说明书虽未明确提及但应该实现的目标5)软件难以理

    2022年8月6日
    3
  • 5G NR SRS (R15)[通俗易懂]

    5G NR SRS (R15)[通俗易懂]一、SRS序列对于SRS序列生成,其延续了LTE中采用的ZC序列,具体公式如下:[参考协议382115.2.2][参考协议382116.4.1.4.2]二、SRS时频资源1.时频资源NR中网络可以为终端配置一个或多个SRS资源集,多个资源集的目的可能是为了上下行多天线预编码,也有可能是为了上下行波束管理。一个SRS资源集内可以包含一个或多个SRS资源,每个SRS资源占…

    2025年8月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号