前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Proxool线程池的简单实现demo

Proxool线程池的简单实现demo

作者头像
全栈程序员站长
发布2021-09-22 12:22:07
3990
发布2021-09-22 12:22:07
举报
文章被收录于专栏:全栈程序员必看

使用的jar包:ojdbc14.jar    proxool-0.9.0.jar   commons-logging-1.1.3.jar

代码分为两部分: ProxoolTest.java和proxool.xml

第一部分代码:

ProxoolTest.java

package com.test.proxool;

import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement;

import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;

public class ProxoolTest {

int beginIndex = 0; // 待取记录起始数 int endIndex = 10; // 待取得记录终止跳 String MySQLdbTableName = “service”; String MySQLreq = “select * from ” + MySQLdbTableName;

/** * proxool方式测试 * * @throws Exception */ public void proxoolMethodTest() throws Exception { // Java应用中先要加载配置文件,否则谁知道你配置给谁用的 // JAXPConfigurator.configure(“proxool.xml”, false); InputStream in = getClass().getResourceAsStream(‘/’+”proxool.xml”); Reader reader = null; reader = new InputStreamReader(in, “GBK”); JAXPConfigurator.configure(reader, false); // 1:注册驱动类,这次这个驱动已经不是Oracle的驱动了,是Proxool专用的驱动 Class.forName(“org.logicalcobwebs.proxool.ProxoolDriver”); // 2:创建数据库连接,这个参数是一个字符串,是数据源的别名,在配置文件中配置的timalias,参数格式为:proxool.数据源的别名 Connection conn = DriverManager.getConnection(“proxool.timalias”); for(int i = 0; i< 20; i++) conn = DriverManager.getConnection(“proxool.timalias”); // 3:创建执行SQL的对象 Statement stmt = conn.createStatement(); // 4:执行SQL,并获取返回结果 ResultSet res = stmt.executeQuery(MySQLreq); // 5:处理返回结果,此处打印查询结果 ResultSetMetaData rsmd = res.getMetaData(); int columnCount = rsmd.getColumnCount(); int rowCount = 0; while (res.next()) { System.out.print(rowCount + ” “); rowCount++; for (int j = 1; j <= columnCount; j++) {// 循环处理 String strRes = res.getString(j); System.out.print(strRes + “|\t”); } System.out.println(); } // 6:关闭数据库连接 conn.close(); }

public static void main(String[] args) throws Exception { ProxoolTest test = new ProxoolTest(); test.proxoolMethodTest(); }

}

第二部分代码:proxool.xml

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

  注释已经很清楚了,没有什么多说的了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档