`
princeicelk
  • 浏览: 37632 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

tomcat下WebappClassLoader 的问题

阅读更多

今天上午部署个程序,遇到类似这样一个问题:

2008-3-11 9:49:34 org.apache.catalina.loader.WebappClassLoader loadClass
信息: Illegal access: this web application instance has been stopped already.  Could not load java.net.BindException.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
(不完全一样,原来的错误信息懒得去找了)

 

这个问题导致这个实例启动不了,而同一个tomcat下的其他N个实例都很好。

 

弄了一上午,后来发现网上有个哥哥说:“你是不是在\Tomcat目录\common\lib下存放了MYSQL驱动. 你把把给删除了.就可以了. ”

 

于是找到/usr/share/tomcat/common/lib, 没找到mysql驱动。在和另一个好的服务器对比后,找到两个可疑包:

commons-collection3.jar

commons-pool.jar

其中第一个可能还与程序中的lib有版本冲突

 

删之,尽然就正常启动了。

 

扯淡的才开始~

 

好了以后我又重启了一次tomcat, 结果原来的问题小孩和N个弟兄都挂了。 于是我又把之前两个嫌疑包拷了回去,再重启,结果大家又都好了。

 

总之,我最后什么都没做,都好了。

 

写着记在这里,希望科学昌明的一天会解释这个现象

分享到:
评论
1 楼 sipingqiqi 2009-02-02  
都说了,叫你多重启几次,折腾一下. 哈哈

相关推荐

    tomcat6异常问题

    本篇文章将深入探讨在使用Tomcat 6.0时可能会遇到的jar问题及其解决方案。 Tomcat 6.0发布于2006年,是Apache软件基金会的Tomcat项目中的一个重要版本,支持Java Servlet 2.5和JavaServer Pages (JSP) 2.1规范。...

    tomcat 源码分析系列文档

    3. "理解Tomcat的WebappClassLoader(web应用类加载器)一.doc":进一步探讨WebappClassLoader的工作机制,包括类查找策略、双亲委派模型的实现及其在多web应用环境下的应用。 4. "Tomcat源码分析(4)容器处理链接之...

    tomcat8源码

    深入理解Tomcat的源码有助于我们更好地掌握其工作原理,从而优化应用性能,解决潜在问题。 1. **Tomcat架构概述** Tomcat的核心架构主要分为几个部分:Catalina(核心处理引擎)、Jasper(JSP编译器)、 Coyote...

    Maven工程Tomcat热部署详解.pdf

    一旦检测到变化,Tomcat会停止应用的启动线程,清除引用,并将加载该应用的WebappClassLoader置为null,然后创建一个新的WebappClassLoader实例重新加载应用。 在Maven工程中配置Tomcat热部署,需要在pom.xml文件中...

    简单的Tomcat源码实现

    2. **类加载机制**:Tomcat使用自定义的类加载器,如`CommonClassLoader`、`WebappClassLoader`等,以实现不同Web应用间的隔离。 3. **请求处理**:` CoyoteAdapter`是Servlet容器与Tomcat网络接口(Coyote)之间的...

    Tomcat7 负载Jar包

    3. **JAR扫描优化**:默认情况下,Tomcat会扫描`WEB-INF/lib`下的所有JAR包,这可能导致性能问题。可以通过修改`server.xml`中的`<Context>`标签,添加`antiResourceLocking="true"`和`antiJARLocking="true"`属性来...

    Tomcat8.0底层源码

    通过对Tomcat 8.0源码的学习,开发者能够更深入地理解Web服务器的工作机制,从而更好地优化应用性能,解决复杂问题,甚至参与到Tomcat的贡献和维护中。这是一条通往Java Web高级开发者之路的必经之路。

    Problem with WebappClassLoader in background thread

    2. **线程安全问题**:WebappClassLoader不是线程安全的,特别是在多线程环境下,如后台任务执行时,可能会出现类加载、卸载或资源访问的竞态条件。这可能导致类加载异常、内存泄漏或者其他运行时错误。 3. **垃圾...

    tomcat源码学习

    理解`org.apache.catalina.loader`包下的`WebappClassLoader`及其工作原理,是深入理解Tomcat多应用隔离的关键。 6. **线程池和并发模型**:Tomcat使用线程池处理请求,以提高并发性能。理解`Executor`和线程管理...

    howtomcatworks tomcat运行内幕

    Tomcat的类加载机制遵循“父类加载优先”原则,通过`CommonLoader`、`CatalinaLoader`、`SharedLoader`和`WebappClassLoader`四个层次进行加载,保证了不同Web应用之间的类隔离。 8. **安全性** Tomcat支持多种...

    细说Tomcat如何打破双亲委派(有源码和图)

    为了解决这个问题,Tomcat引入了自定义的类加载策略。 Tomcat的类加载机制可以概括为以下几点: 1. **WebAppClassLoaders**: 每个Web应用都有自己的WebAppClassLoader,用于加载应用中的类。这是打破双亲委派模型...

    Tomcat 5.0.18 ClassLoader source code insight

    4. **同步机制**:为了保证并发环境下的安全,`WebappClassLoader`使用锁机制来控制对类加载的访问,避免了多线程环境下可能出现的问题。 5. **生命周期管理**:当Web应用停止时,`WebappClassLoader`需要卸载加载...

    spring-instrument-tomcat-4.3.14.RELEASE.jar

    Tomcat's WebappClassLoader is currently not instrumentable, so Spring provides a custom ClassLoader that can be used by placing spring-instrument-tomcat.jar in $TOMCAT_HOME/lib and putting a loader ...

    how-tomcat-works

    Tomcat使用WebappLoader和WebappClassLoader来加载Web应用的类,并监控类的改动,实现热部署。 七、Session管理 Tomcat提供了对HTTP会话(Session)的管理,包括创建、存储和销毁Session,以及在集群环境下的...

Global site tag (gtag.js) - Google Analytics