1、首先下载proxool 地址:http://proxool.sourceforge.net2、解压缩proxool-0.9.0RC3.zip,拷贝lib下的所有jar库文件到工程下的WEB-INF/lib下,同时也把Mysql的jdbc驱动到web-info/lib3、在WEB-INF下建立文件:proxool.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
  <proxool>
    <alias>Develop</alias>   <!--这里是连接池的别名-->
    <driver-url>jdbc:mysql://localhost:3306/databaseName</driver-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
      <property name="user" value="root"/>
      <property name="password" value=""/>
    </driver-properties>
    <maximum-connection-count>500</maximum-connection-count>
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
  </proxool> 4、在WEB-INF/web.xml中<web-app>节点里加入如下内容:
  <servlet>
     <servlet-name>proxoolServletConfigurator</servlet-name>
     <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
     <init-param>
       <param-name>xmlFile</param-name>
       <param-value>WEB-INF/proxool.xml</param-value
     </init-param>
     <load-on-startup>1</load-on-startup>
   </servlet>   <servlet>
    <servlet-name>Admin</servlet-name>
      <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
   </servlet>
   <servlet-mapping>
    <servlet-name>Admin</servlet-name>
    <url-pattern>/admin</url-pattern>
   </servlet-mapping>用下面的jsp实例测试,连接是正常的
<%@page import="java.sql.*"%>
<%@page contentType="text/html; charset=GBK"%>
<html>
<head>
<title>ProxoolTest</title>
</head>
<body bgcolor="#ffffff">
<h1>Proxool连接池测试</h1>
<%
  Connection con = null;
  Statement stmt = null;
  ResultSet rs = null;
  try {
    con = DriverManager.getConnection("proxool.Develop");
    stmt = con.createStatement();
    String query = "select * from hao";
    out.println("query:" + query+ "--OK<br/>");
    rs = stmt.executeQuery(query);
    out.println("rs.next():" + rs.next()+ "--OK<br/>");
    while (rs.next()) {
      out.println(rs.getString(2) + "--OK<br/>");
    }
  }
  catch (SQLException sqle) {
    out.println("sqle=" + sqle+ "--OK<br/>");
  }
  finally {
    try {
      rs.close();
      stmt.close();
      if (con != null) {
        con.close();
      }
    }
    catch (SQLException sqle) {
      out.println("sqle=" + sqle+ "--OK<br/>");
    }
  }
%>
</body>
</html>可是如果用下面的java应用测试,就会报错package com;import java.sql.*;public class DBtest {
    static {
        try {        
            Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
        }
        catch(ClassNotFoundException e) {
            System.out.println("找不到驱动");
            e.printStackTrace();
        }
    }
                                                                               
    public static void main(String[] args) {
        try {
            Connection conn = DriverManager.getConnection("proxool.Develop");
            if(!conn.isClosed())
                System.out.println("数据库连接成功!");
            conn.close();
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
    }
}在eclipse下运行上面的.java程序就会报错:找不到驱动
java.lang.ClassNotFoundException: org.logicalcobwebs.proxool.ProxoolDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.DBtest.<clinit>(DBtest.java:8)
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.DBtest.main(DBtest.java:18)我感觉是没找到proxool-0.9.0RC3.jar包,怎么才能让eclips找到这个jar包你,我在工程属性里导入这个包也不好用,这是什么原因啊?

解决方案 »

  1.   

    1. include the proxool jars in your eclipse project 
    2. the eclispe runtime is different from your web runtime. (the jars in WEB-INF/lib is not default considered as the classpath for the eclipse)
    3. you can test your test java class in your web environment. (e.g. create a jsp which invokes the bean you listed, and see whether it's ok)
      

  2.   

    1. To add the jars in WEB-INF/lib to your eclipse project classpath
    right click the name of the project (in the package view)
    'Properties' -> 'Libraries'-> 'Add Jars' (select the jars inside the WEB-INF/lib)
    2. Maybe you can also build a test .jsp file to test you java bean/class under the deployment einviornment. 
      

  3.   

    把jar加入到你的build path 里面。Eclipse 下运行的话,请参考这个 http://www.java2000.net/viewthread.jsp?tid=463
      

  4.   

    2、Maybe you can also build a test .jsp file to test you java bean/class under the deployment einviornment
    这种方法是可以实现的。我按1的方法把jar导入之后,发现在没有org.logicalcobwebs.proxool.ProxoolDriver这个包,有用过proxool的朋友吗?导入jar后,运行下面的程序package com;import java.sql.*;public class DBtest {
        static {
            try {        
                Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
            }
            catch(ClassNotFoundException e) {
                System.out.println("找不到驱动");
                e.printStackTrace();
            }
        }
                                                                                   
        public static void main(String[] args) {
            try {
                Connection conn = DriverManager.getConnection("proxool.Develop");
                if(!conn.isClosed())
                    System.out.println("数据库连接成功!");
                conn.close();
            }
            catch(SQLException e) {
                e.printStackTrace();
            }
        }
    }报这样的错误:
    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.logicalcobwebs.proxool.ProxoolDriver.<clinit>(ProxoolDriver.java:28)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.DBtest.<clinit>(DBtest.java:8)
    Exception in thread "main" 
    是这段程序有错吗?
      

  5.   

    我加上了,而且还加上了log4j.1.2.15.jar,还是不好用,又出现了新的问题:
    INFO [main] (ProxoolFacade.java:80) - Proxool 0.9.0RC2 (23-Mar-2006 23:39)
    ERROR [main] (ProxoolDriver.java:108) - Problem
    org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'Develop'
    at org.logicalcobwebs.proxool.ConnectionPoolDefinition.doChange(ConnectionPoolDefinition.java:250)
    at org.logicalcobwebs.proxool.ConnectionPoolDefinition.<init>(ConnectionPoolDefinition.java:147)
    at org.logicalcobwebs.proxool.ProxoolFacade.registerConnectionPool(ProxoolFacade.java:90)
    at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:77)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.DBtest.main(DBtest.java:20)
    java.sql.SQLException: org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'Develop'
    at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:109)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.DBtest.main(DBtest.java:20)
    ,我哭了
      

  6.   

    另外我想问下,“把jar文件加到CLASSPATH里”这句怎么实现?我知道环境变量怎么设,就是不清楚这里面的jar文件的放置在什么路径下有要求吗?
    设置环境变量和在eclips导入jar包的作用一样吗?
      

  7.   

    用eclips的话把jar复制到WEB-INF/lib下面他自己会加载进去 
    你可以去tomcat的WEB-INF/lib下面看看有没有你需要的包 有的话就是已经加载了
      

  8.   

    我现在web-inf\lib下面已经有commons-logging.jar  log4j-1.2.15.jar  mysql-connector-java-5.0.4-bin.jar  proxool-0.9.0RC2.jar,而且在eclipse里打开“包资源管理器”的时候也都能看到他们
      

  9.   

    呵呵 关注一下,我也遇到此问题,  楼主是问应用程序,而不是WEB开发的情况下。
      

  10.   

    因为你的proxool.Develop在WEB容器里所以不能在main里面测试..
    要测只能在servert 或者 action 里面.....