前段时间在项目里配置了proxool连接池,配置代码如下:proxool.xml
<?xml version="1.0" encoding="gbk"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
   <!--连接池的别名-->
   <alias>DBPool</alias>   <!--proxool只能管理由自己产生的连接-->
   <driver-url>jdbc:mysql://0.0.0.0:3306/fengshen?useUnicode=true&amp;characterEncoding=gb2312&amp;autoReconnect=true</driver-url>   <!--JDBC驱动程序-->
   <driver-class>com.mysql.jdbc.Driver</driver-class>
   <driver-properties>
    <property name="user" value="user"/>
    <property name="password" value="pass"/>
   </driver-properties>
   
   <prototype-count>1</prototype-count>
   
   <test-before-use>true</test-before-use>
   
   <!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
   <house-keeping-sleep-time>90000</house-keeping-sleep-time>
   <house-keeping-test-sql>select current_date from dual</house-keeping-test-sql>   <!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
   <maximum-new-connections>20</maximum-new-connections>   <!-- 最少保持的空闲连接数-->
   <prototype-count>5</prototype-count>   <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
   <maximum-connection-count>500</maximum-connection-count>   <!-- 最小连接数-->
   <minimum-connection-count>10</minimum-connection-count></proxool>
</something-else-entirely>
web.xml
<servlet>  
     <servlet-name>ServletConfigurator</servlet-name>  
        <servlet-class>  
             org.logicalcobwebs.proxool.configuration.ServletConfigurator  
        </servlet-class>  
        <init-param>
             <param-name>xmlFile</param-name>  
             <param-value>/WEB-INF/classes/com/snow/proxool.xml</param-value>
        </init-param>  
        <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet>
   <servlet-name>FsPromanager</servlet-name>
   <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
  </servlet>
  <servlet-mapping>
   <servlet-name>FsPromanager</servlet-name>
   <url-pattern>/FsPromanager</url-pattern>
  </servlet-mapping>hibernate.cfg.xml
<property name="connection.provider_class">
org.hibernate.connection.ProxoolConnectionProvider
</property>
<property name="proxool.pool_alias">DBPool</property>
<property name="proxool.xml">proxool.xml</property>
<property name="proxool.existing_pool">true</property>
<property name="connection.release_mode">auto</property>
<property name="cglib.use_reflection_optimizer">true</property>
<property name="connection.autocommit">true</property>
<property name="transaction.auto_close_session">true</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>该项目在本地(windows)测试一切正常,可是一放到服务器(Linux)上就会出错
错误信息:No pools have been registered.写了一个测试JSP:错误信息:
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 3027: }
28: finally {
29:     try {
30:       rs.close();
31:       stmt.close();
32:       if (con != null) {
33:         con.close();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.apache.jsp.index_jsp._jspService(index_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 实在没有办法了,请大家帮帮忙!

解决方案 »

  1.   

    是你的解析Jsp的Servlet包的问题。
    换个Servlet-api和Jsp-api包试试。
      

  2.   

    你去看看TOMCAT的log,里面应该找得到问题的根源
      

  3.   

    空指针异常。
    没有贴index.jsp的代码。要看了代码才知道。
      

  4.   

    rs.close();
     stmt.close(); 
    改为
    if(rs!=null){
    rs.close();
    }
    if(stmt!=null){
    stmt.close();
    }
      

  5.   

    java.lang.NullPointerException 
    空指针异常啊看哪里调用空对象了
      

  6.   

    刚刚将空指针的地方都做了判断……又出现了异常:
    No suitable driver found for proxool.DBPoolproxool的驱动包我都放到项目里了 也放到tomcat目录下的lib里了 怎么还是找不到呢?MySQL的驱动服务器和本地的版本都一样的啊
      

  7.   

    我在试试换个Servlet-api和Jsp-api包。
      

  8.   

    厄……看来也不是Servlet-api和Jsp-api包的问题
      

  9.   

    网上查了下,有个人说:
    好,打开tomcat服务器运行,出现下述错误
    java.sql.SQLException: No suitable driver found for proxool.DBPool
    折腾了一下午,终于找到了问题原因,我的proxool.xml文件是利用记事本建立的,在建立时选择了utf-8格式存储,后来改为ANSI格式存储,顺利实现。
    超级郁闷!!!! 
      

  10.   

    本地正常、linux出错,很有可能就是你上传这些配置文件的时候,选择的方式,有时候要以ASCII方式,有时候又要以BINARY方式,一般来说,文本的用ASCII,class之类的用BINARY。有时候,你在linux用vi看那些文件,上传方式有误的话,每一行后面会多出来一个"m←"之类的东东。(我在AIX下碰到过这个问题。)
      

  11.   

    刚刚又试了下 好像是项目找不到proxool.xml文件可是暂时还不知道怎么处理???谁能帮帮我?
      

  12.   

    /WEB-INF/classes/com/snow/proxool.xml
    你改为:
    WEB-INF/classes/com/snow/proxool.xml
    试验一下