zoukankan      html  css  js  c++  java
  • tomcat的webappclassloader中一个奇怪的异常信息

    假设一个应用抛出大量的Class not found信息,一般你会怀疑包冲突。但是tomcat的webappclassloader却有这种问题:

    假设一个应用公布出现故障, webappclassloader的started属性被设为false.然后其他线程假设继续使用webappclassloader进行class load,则大量的Class not found异常

    被抛出:


     1391       public Class loadClass(String name, boolean resolve)
     1392           throws ClassNotFoundException {
     1393  
     1394           synchronized (name.intern()) {
     1395               if (log.isDebugEnabled())
     1396                   log.debug("loadClass(" + name + ", " + resolve + ")");
     1397               Class clazz = null;
     1398       
     1399               // Log access to stopped classloader
     1400               if (!started) {
     1401                   try {
     1402                       throw new IllegalStateException();
     1403                   } catch (IllegalStateException e) {
     1404                       log.info(sm.getString("webappClassLoader.stopped", name), e);
     1405                   }
     1406               }

                            ...................................................................

     1516               throw new ClassNotFoundException(name);
     1517           }
     1518       }

    所以假设有大量的ClassNotFoundException的话先搜索一下是否有webappClassLoader.stoppedkeyword吧。

  • 相关阅读:
    centos通过yum安装mongodb
    js基于另一个数组排序数组
    centos 7 安装emule客户端
    typescript中interface和type的区别
    nodejs安装管理工具nvm的安装和使用
    PM2的参数配置
    centOS添加ipv6支持(仅限已分配ipv6地址和网关)
    linux执行计划任务at命令
    mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天等等
    win10子系统ubuntu内的nginx启动问题
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3851916.html
Copyright © 2011-2022 走看看