項目啟動時 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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM