时不时会报异常如下:
Exception in thread "HouseKeeper" java.lang.NullPointerException at org.logicalcobwebs.proxool.HouseKeeperController.getHouseKeeperToRun(HouseKeeperController.java:53) at org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:33)
参考:
http://yang7527.iteye.com/blog/427512
http://harbey.iteye.com/blog/888966
http://topic.csdn.net/u/20080708/16/823ff6cc-a062-40e9-9858-169013138487.html
引用
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
http://hi.baidu.com/dannyif/blog/item/66f4cdd749ca3f2806088b5a.html
今天应用启动后,页面点击几下就报出 Exception in thread "HouseKeeper" java.lang.NullPointerException; 多点几次会重复出现这bug, 然后在网上找到一个比较妙的解决办法:
LoadServlet.java :
package com.fsti.ec.common; 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; public class LoadServlet extends HttpServlet { public void init() throws ServletException { } public void destroy() { //此处添加处理 ProxoolFacade.shutdown(); } 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 里的配置:
loadServlet com.fsti.ec.common.LoadServlet 1