该error的原因:

tomcat关闭应用时的清理工作(3): ThreadLocal

这个泄露其实是可能造成classloader的泄露,因为ThreadLocal引用了自定义的类MyClass,绑定到了当前的请求线程上,而请求线程又是线程池里的线程,生存周期可能会比较长。比如上面模拟的情况,要停止应用的时候,请求线程的ThreadLocal仍未释放,那么即使加载MyClass类的classLoader已经不会再被任何地方使用,可以被垃圾回收了,却因为这个MyClass被引用而得不到回收。

解决方案:

private static ThreadLocal<MyClass> tl = new ThreadLocal<MyClass>();

try{
// doSomething()
} finally {
tl.remove();
}

failed to remove it when the web application was stopped. Threads are going to be renewed over time相关推荐

  1. 严重: The web application [/] registered the JDBC driver [xxx.xxx.xxx] but failed to unregister ...

    问题描述: Tomcat 服务器启动报异常提示数据库驱动不能被注册,当应用被停止时.为了防止内存泄漏,已强制注销JDBC驱动程序.折腾了2小时最后LZ定位问题是出于开发环境与服务器环境JDK版本不一致 ...

  2. 严重: A web application created a ThreadLocal with key of type...

    严重: A web application created a ThreadLocal with key of type [null] (value [com.sun.faces.config.Con ...

  3. tomcat 启动异常 The web application [ROOT] registered the JDBC driver [xxx] but failed to unregister it

    tomcat启动的时候出现如下异常: 22-Feb-2021 20:25:30.697 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina ...

  4. The web application [] appears to have started a thread named [thread-0]

    最近在项目中,突发了一个情况,就是服务器在跑了一段时间之后,总是会莫名其妙的挂掉,初始的时候认为是服务器原因,也没有多加理会,直接重启了服务,可是当这个情况出现了两三次之后,感觉不对,还是得解决一下, ...

  5. ModSecurity web application firewall (WAF) Research - .Little Hann

    转载地址:http://bluereader.org/article/97681813 catalog 引言 OWASP ModSecurity Core Rule Set (CRS) Project ...

  6. ModSecurity web application firewall (WAF) Research

    catalog 0. 引言1. OWASP ModSecurity Core Rule Set (CRS) Project2. Installation mod_security forApache3 ...

  7. Web Application Stress Tool(WAS)性能测试

    摘要:这篇文章讨论了性能测试对于成功发布一个网络应用的重要性,集中讨论了微软的Web Application Stress (WAS)这个用于测试Duwamish Online的性能的工具. 内容 介 ...

  8. 关于tomcat启动报错Error deploying web application directory [C:\......]出现的其中一种问题解决:

    tomcat启动报这个错: 严重: Error deploying web application directory [C:-\tomcat\apache-tomcat-9.0.22\webapps ...

  9. 严重: The web application [] appears to have started a thread named [Thread-

    http://www.myexception.cn/h/988782.html 1,获取dump 2,从dump找到正在运行的线程所属class 3,在myeclise 开启debug模式,给正在运行 ...

最新文章

  1. OpenAI 以 10 亿美元出售「灵魂」,网友热评不再「Open」
  2. 转:Android之 MTP框架和流程分析
  3. python3.7安装包多大_python3.7 pip 安装第三方包
  4. 箭头函数特殊性与普通函数的区别
  5. 遥感图像增强方法应用
  6. django-cookie的认识和基本使用与值查看
  7. html表单用户名,HTML表单
  8. javascript call 详细解答与实践
  9. python七巧板拼图代码_为什么代码都是用英文来写的,将来会有用中文写代码的那天吗?...
  10. 机器视觉测量原理及其优势
  11. ARM 代码烧录方案与原理详解 --- SWD/JTAG + Bootloader + OTA (ICP + ISP + IAP)
  12. 东南亚跨境电商大势来袭,Lazada和shopee哪个好?客观分析!
  13. Spring-Boot Dubbo 整合
  14. 手把手教会你使用Arcgis画流场图
  15. 使用matlab分析一段声音信号的均方根
  16. HBase2.x(十一)HBase 读流程
  17. mvnw命令启动spring boot项目时出现警告Unrecognised tag: ‘blocked’ (position: START_TAG seen …\r\n …
  18. 【计算机网络】计算机网络的主要功能
  19. STM32cubIDE 黑色主题_主题 | Mation 微信主题 适配7和7以下版本
  20. Addressable如何删除旧资源

热门文章

  1. PyTorch:Unet网络实现脑肿瘤图像分割
  2. [CF467D]Fedor and Essay
  3. Winform DataGridView单元格中动态添加多个控件
  4. 工资条帮软件-钉钉版绑定注册操作说明
  5. 实验7-1-13 装箱问题 (20分)
  6. 通过线上对抑郁症患者进行诊治需要注意哪些问题?
  7. Vert.x Java开发指南——第二章 使用Vert.x编写最小可用Wiki
  8. 怎么用ChemDraw绘制动物细胞结构
  9. AndroidBug5497Workaround 修改
  10. ThinkPHP学习总结(前端部分)