按照文档要求,在项目中导入了三个jar包:proxool-0.9.1.jar、proxool-cglib.jar和mysql-connector-java-5.0.8-bin.jar,写好了测试类和配置文件:
我的xml配置如下:
<proxool>
<alias>mysql</alias>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-url>
jdbc:mysql://localhost:3306/wzy?autoReconnect=true&useUnicode=true&characterEncoding=utf8&mysqlEncoding=utf8
</driver-url>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="mysql" />
</driver-properties>
<house-keeping-test-sql>
select CURRENT_DATE
</house-keeping-test-sql>
<maximum-active-time>120000</maximum-active-time>
<house-keeping-sleep-time>120000</house-keeping-sleep-time>
<prototype-count>2</prototype-count>
<maximum-connection-count>60</maximum-connection-count>
<minimum-connection-count>20</minimum-connection-count>
<verbose>true</verbose>
<statistics-log-level>INFO</statistics-log-level>
<simultaneous-build-throttle>300</simultaneous-build-throttle>
</proxool>
我的测试java如下:
package net.fygk.test;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
public class ProxoolTest {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(getMysqlPolxoolConnection());
}
public static Connection getMysqlPolxoolConnection()
{
Connection conn = null;
//Logger log = Logger.getLogger("InitAction");
try
{
//Java应用中先要加载配置文件,否则谁知道你配置给谁用的
InputStream in = ProxoolTest.class.getResourceAsStream("proxool.xml");
Reader reader = new InputStreamReader(in,"GB2312");
JAXPConfigurator.configure(reader, false);
//1:注册驱动类,这次这个驱动已经不是Oracle的驱动了,是Proxool专用的驱动
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
//2:创建数据库连接,这个参数是一个字符串,是数据源的别名,在配置文件中配置的timalias,参数格式为:proxool.数据源的别名
conn = DriverManager.getConnection("proxool.mysql");
}catch(Exception ex)
{
ex.printStackTrace();
}
return conn;
}
}
结果,一运行,抛出以下异常,在网上一搜,都是关于web方面的,纯java的很少,看来得自己想办法解决了。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.logicalcobwebs.proxool.configuration.JAXPConfigurator.<clinit>(JAXPConfigurator.java:42)
at net.fygk.test.ProxoolTest.getMysqlPolxoolConnection(ProxoolTest.java:69)
at net.fygk.test.ProxoolTest.main(ProxoolTest.java:20)
从第一条来看,java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory,主要是因为没有找到LogFactory这个类文件,所以才产生了NoClassDefFoundError,于是,便又从网站上下了一个commons-logging.jar,导入到项目中,一切OK!
下载 proxool-0.9.1 http://proxool.sourceforge.net/
需要 四个包:
proxool-0.9.1.jar proxool-cglib.jar commons-logging.jar mysql-connector-java-5.0.8-bin.jar (少一个都报错)