tomcat filewatchdog but has failed to stop it原因以及解决方法

停止tomcat,有些时候会报The web application [/XXX] appears to have started a thread named [FileWatchdog] but has failed to stop it. 

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

    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>60000</param-value>
    </context-param>

所以,启动了一个检测log4j.properties变化的线程,只不过在1.2.x的log4j实现中,这个线程无法被interupt,所以会出现这个错误。

事实上,这个错误在2002年的时候就出现了,只不过log4j官方一直都没有修复。

原先计划在1.3中修复,后来,就没有后来的1.3版本了,到了2.x版本。

1.2和2.x不兼容性太多,以至于无法平滑升级。

所以要解决这个异常,有三个解决方法:1、升级到2.x;2、去掉自动检测这个配置(事实上95%以上的场景都没有必要);3、自己写个servletcontextlistener强行中止该线程。

详细可参考:https://bz.apache.org/bugzilla/show_bug.cgi?id=4913

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值