Java项目中使用 proxool

在网上找到的proxool 入门实例 都是在web项目中使用的  

下面这个例子是单纯的java项目中运用proxool。

总结一下,其实也很简单就是将 proxool.xml  加载进来 的方法的不一样  


需要的jar文件有:

classes12-10.0.2.jar

commons-logging-1.0.4.jar

proxool-0.9.1.jar

proxool-cglib-0.9.1.jar


相关资源下载:http://download.csdn.net/detail/xswd169/6366947


代码如下:


TestProxool

package com.leader.proxool;

import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Created by IntelliJ IDEA.
 * 
 * @author leizhimin 2009-10-10 17:59:47
 */
public class TestProxool {
	public static String dburl = "jdbc:oracle:thin:@192.168.104.192:1521:tim";
	public static String user = "tim";
	public static String password = "tim_8968888";

	/**
	 * JDBC方式测试
	 * 
	 * @throws Exception
	 */
	public static void test1() throws Exception {
		String testsql = "select * from village t where lastid = 346";
		// 1:注册驱动类
		Class.forName("oracle.jdbc.driver.OracleDriver");
		// 2:创建数据库连接
		Connection conn = DriverManager.getConnection(dburl, user, password);
		// 3:创建执行SQL的对象
		Statement stmt = conn.createStatement();
		// 4:执行SQL,并获取返回结果
		ResultSet rs = stmt.executeQuery(testsql);
		// 5:处理返回结果,此处打印查询结果
		while (rs.next()) {
			System.out.print(rs.getLong("id") + "\t");
			System.out.print(rs.getString("name") + "\t");
			System.out.println();
		}
		// 6:关闭数据库连接
		conn.close();
	}

	/**
	 * proxool方式测试
	 * 
	 * @throws Exception
	 */
	public static void test2() throws Exception {
		// Java应用中先要加载配置文件,否则谁知道你配置给谁用的
		JAXPConfigurator
				.configure("E:\\EclipseNew\\eclipse\\workSpace\\Proxool\\proxool.xml", false);
		
		String testsql = "select * from dest_poi";
		
		// 1:注册驱动类,这次这个驱动已经不是Oracle的驱动了,是Proxool专用的驱动
		Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
		// 2:创建数据库连接,这个参数是一个字符串,是数据源的别名,在配置文件中配置的timalias,参数格式为:proxool.数据源的别名
		Connection conn = DriverManager.getConnection("proxool.First");
		
		// 3:创建执行SQL的对象
		Statement stmt = conn.createStatement();
		// 4:执行SQL,并获取返回结果
		ResultSet rs = stmt.executeQuery(testsql);
		
		// 5:处理返回结果,此处打印查询结果
		while (rs.next()) {
			System.out.print(rs.getLong("id") + "\t");
			System.out.print(rs.getString("dest_name") + "\t");
			System.out.println();
		}
		// 6:关闭数据库连接
		conn.close();
	}
	
	/**
	 * 测试
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		test2();
	}
}

proxool.xml 

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
        <proxool>
                <alias>First</alias>
                <!--数据源的别名-->
              <driver-url>jdbc:oracle:thin:@10.10.10.4:1521:orcl</driver-url>
                <!--url连接串-->
                <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                <!--驱动类-->
                <driver-properties>
                		<!--用户名-->
                		<property name="user" value="tcar1" />
						<!--密码-->
						<property name="password" value="tcar_cityonmap2012" />
                </driver-properties>
                <!--最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 -->
                <maximum-connection-count>100</maximum-connection-count>
                <!--最小连接数(默认2个)-->
                <minimum-connection-count>10</minimum-connection-count>
                <!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒-->
                <house-keeping-sleep-time>90000</house-keeping-sleep-time>
                <!--没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
                <maximum-new-connections>10</maximum-new-connections>
                <!--最少保持的空闲连接数(默认2个)-->
                <prototype-count>5</prototype-count>
                <!--在使用之前测试-->
                <test-before-use>true</test-before-use>
                <!--用于保持连接的测试语句 -->
                <house-keeping-test-sql>select sysdate from dual</house-keeping-test-sql>
        </proxool>
</something-else-entirely>





你可能感兴趣的:(Java项目中使用 proxool)