`

A web application created a ThreadLocal with key of type [null]

    博客分类:
  • JAVA
 
阅读更多
引用

严重: A web application created a ThreadLocal with key of type [null] (value [com.sun.faces.config.ConfigureListener$1@1c4e792]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.

http://confluence.atlassian.com/pages/viewpage.action?pageId=218275753
 看看老外的这篇,好像就是在讲这个问题,原因大概是说tomcat 6.025之后引入了一种内存泄露的检查机制,会把不能垃圾收集的对像做日志
 
 
 
第一种解决办法:
 
使用低于6版本的tomcat
 
第二种解决办法:
 
在tomcat的server.xml文件中把
 <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
 
这个监听给关了
 
如果还解决不了,重启一下机器试试

分享到:
评论
2 楼 海漂大侠 2012-08-22  
恩,同意一楼的观点,我也是遇到了这个问题,把服务器停下,重新部署后就没事了。
1 楼 ilemma 2011-10-13  
出现这个原因是因为你是在服务器为STOP的情况下,进行的重新部署,先STOP之后再部署,就没事了

相关推荐

    ThreadLocal应用示例及理解

    **线程局部变量(ThreadLocal)是Java编程中一个非常重要的工具类,它在多线程环境下提供了线程安全的数据存储。ThreadLocal并不是一个变量,而是一个类,它为每个线程都创建了一个独立的变量副本,使得每个线程都...

    ThreadLocal整理.docx

    当 ThreadLocal 对象的 key 为 null 时,表示该对象已经失效,需要将其清除,以避免内存泄漏的问题。清除过期桶的机制是通过 replaceStaleEntry 方法来实现的,这个方法会找到数组中过期的桶,然后将其清除,并将...

    ThreadLocal

    ThreadLocal是Java编程语言中的一个类,用于在多线程环境中提供线程局部变量。它是一种特殊类型的变量,每个线程都有自己的副本,互不影响,从而实现线程间数据隔离。ThreadLocal通常被用来解决线程共享数据时可能...

    ThreadLocal 内存泄露的实例分析1

    at 中专门为每一个 web 应用实例创建的类加载器,它负责加载该 web 应用下的所有类。当 web 应用被卸载时,WebappClassLoader 本应随之被垃圾收集器回收。然而,如果存在对 WebappClassLoader 的强引用,那么这个类...

    JDK的ThreadLocal理解(一)使用和测试

    - **请求上下文传播**:在Web开发中,可以将HttpServletRequest对象放入ThreadLocal,以便在同一个请求处理过程中方便地访问请求信息。 - **缓存**:在某些场景下,可以为每个线程提供一个本地缓存,避免了多线程...

    理解ThreadLocal

    理解ThreadLocal 理解ThreadLocal 理解ThreadLocal 理解ThreadLocal

    ThreadLocal的用处

    - 请求上下文:在Web应用中,可以使用ThreadLocal存储HttpServletRequest、Session等与请求相关的数据,确保这些数据只在当前请求的线程内可见。 - 数据库连接:在数据库连接池中,可以使用ThreadLocal为每个线程...

    使用ThreadLocal管理“session”数据

    在Web应用中,特别是对于"session"数据的管理,ThreadLocal可以作为一种有效的解决方案。 1. **什么是Session?** Session是HTTP协议中的一个概念,用于存储用户在服务器端的状态信息。当用户登录网站后,服务器会...

    java 简单的ThreadLocal示例

    Java中的ThreadLocal是一个非常重要的工具类,它在多线程编程中扮演着独特角色,尤其在处理线程间数据隔离和共享时。ThreadLocal不是线程本身,而是为每个线程提供一个独立的变量副本,使得每个线程都可以独立地改变...

    ThreadLocal的几种误区

    ThreadLocal是Java编程中一种非常特殊的变量类型,它主要用于在多线程环境下为每个线程提供独立的变量副本,从而避免了线程间的数据共享和冲突。然而,ThreadLocal在理解和使用过程中容易产生一些误区,这里我们将...

    ThreadLocal_ThreadLocal源码分析_

    2. **避免null值**:不要将ThreadLocal设置为null,否则可能导致清理困难。 3. **谨慎使用全局ThreadLocal**:全局的ThreadLocal变量可能导致数据在不同线程间意外共享,应谨慎使用。 4. **注意线程池中的...

    ThreadLocal原理及在多层架构中的应用

    **线程局部变量(ThreadLocal)是Java编程中一个非常重要的概念,主要用于在多线程环境中为每个线程提供独立的变量副本。ThreadLocal不是一种数据结构,而是一种解决线程间共享数据的方式,它提供了线程安全的局部...

    ThreadLocal简单Demo

    **线程局部变量(ThreadLocal)** 在Java编程中,`ThreadLocal`是一个非常重要的工具类,它用于在多线程环境中提供线程安全的局部变量。`ThreadLocal`并不是一个线程,而是一个线程局部变量的容器,每个线程都有自己...

    java事务 - threadlocal

    Java事务和ThreadLocal是两种在Java编程中至关重要的概念,它们分别用于处理多线程环境下的数据一致性问题和提供线程局部变量。 首先,我们来深入理解Java事务。在数据库操作中,事务是一系列操作的集合,这些操作...

    ThreadLocal中内存泄漏和数据丢失问题的问题浅析及解决方案.docx

    Entry 中的 key 在 GC 的时候会被回收,但是对应的 Value 却还存在,这样就会造成 key(null) 的情况,对应的 value 也会取不到,这就是内存泄漏的原因。同时也会造成数据丢失。 解决方案: 为了解决 ThreadLocal ...

    ThreadLocal详解.md

    学习ThreadLocal,了解其中的原理,以及学习其中的优点!避免坑点!!

    ThreadLocal和事务

    在Java编程领域,ThreadLocal和事务管理是两个关键的概念,特别是在构建复杂且高效的Web应用程序时。ThreadLocal是一种线程局部变量,而事务则是数据库操作的原子性保证。在这个小型简单练习中,我们看到如何结合c3p...

Global site tag (gtag.js) - Google Analytics