zoukankan      html  css  js  c++  java
  • 项目启动时 Exception in thread "HouseKeeper" java.lang.NullPointerException

    首先查看是否是端口冲突引起,在日志信息该错误位置往上找,如果再无错误信息,而只有该错误,则原因可能如下:

    原因:

    This is because Proxool is not being shutdown properly. If the JVM stops then Proxool recognises that and shuts down gracefully, but if you redeploy Proxool into some environments (for example, a servlet container) then Proxool needs to be explicitly told so by calling ProxoolFacade.shutdown(). If you have a servlet container then you could put it in the servlet's destroy() method. Alternatively, use the ServletConfigurator to both configure and shutdown Proxool

    中文翻译如下:

    解决方法:

    package com.zang.util;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.logicalcobwebs.proxool.ProxoolFacade;
    
    /*
     * 此类用来处理 在class类进行修改的时候 保存了之后服务自动重新启动 报:
     *  Exception in thread "HouseKeeper" java.lang.NullPointerException
     *  错误原因为:
     *  This is because Proxool is not being shutdown properly. 
     *  If the JVM stops then Proxool recognises that and shuts down gracefully, 
     *  but if you redeploy Proxool into some environments (for example, a servlet container) 
     *  then Proxool needs to be explicitly told so by calling ProxoolFacade.shutdown(). 
     *  If you have a servlet container then you could put it in the servlet's destroy() method. 
     *  Alternatively, use the ServletConfigurator to both configure and shutdown Proxool 
     */
    public class HouseKeeperServlet extends HttpServlet {
         private static final long serialVersionUID = 4829418704873725291L;
    
         public void destroy() {
          //此处添加处理 
          ProxoolFacade.shutdown(0);
         }
    
         public void doPost(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
          doGet(request, response);
         }
    
         public void doGet(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
    
         }
    }

    在web.xml中加入

        <servlet> 
            <servlet-name>loadServlet</servlet-name> 
                    <servlet-class>com.zang.util.HouseKeeperServlet</servlet-class> 
               <load-on-startup>1</load-on-startup> 
        </servlet>
  • 相关阅读:
    基于NIO的服务器模型
    Thinking in java 笔记三
    Thinking in java 笔记二
    Thinking in java 笔记一
    Windows 上的苹果 mac Time Machine 时间机器免费替代品 FreeFileSync 操作指南
    扫描仪扫描文件处理-ABBYY对扫描版PDF文字加黑加粗、去除背景漂白
    扫描仪扫描文件处理-Photoshop批处理无响应问题
    阅读-Calibre Library转PDF、EPUB配置
    扫描仪扫描文件处理-图像扫描加工到生成PDF步骤简述[JAVA版]
    扫描仪扫描文件处理-纸书切割扫描步骤
  • 原文地址:https://www.cnblogs.com/zjfjava/p/8184267.html
Copyright © 2011-2022 走看看