(Oracle功能篇) Oracle 数据库连接池
来源:互联网 发布:内蒙古大数据产业 编辑:程序博客网 时间:2024/06/18 05:47
使用:proxool-0.9.1.zip
http://ncu.dl.sourceforge.net/project/proxool/proxool/0.9.1/proxool-0.9.1.zip
相关代码:
package yerasel; 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 Test { int beginIndex = 0; // 待取记录起始数 int endIndex = 10; // 待取得记录终止跳 String MySQLdbTableName = "usrpsw"; String MySQLreq = "select * from " + MySQLdbTableName + " limit " + beginIndex + ", " + endIndex; /** * proxool方式测试 * * @throws Exception */ public void test2() throws Exception { // Java应用中先要加载配置文件,否则谁知道你配置给谁用的 JAXPConfigurator .configure("proxool.xml", false); // 1:注册驱动类,这次这个驱动已经不是Oracle的驱动了,是Proxool专用的驱动 Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); // 2:创建数据库连接,这个参数是一个字符串,是数据源的别名,在配置文件中配置的timalias,参数格式为:proxool.数据源的别名 Connection conn = DriverManager.getConnection("proxool.mysql"); for(int i = 0; i< 20; i++) conn = DriverManager.getConnection("proxool.mysql"); // 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 { Test obj = new Test(); obj.test2(); } }
编写相关的配置文件:
<?xml version="1.0" encoding="UTF-8"?> <something-else-entirely> <proxool> <alias>mysql</alias> <!--数据源的别名--> <driver-url>jdbc:mysql://127.0.0.1:3306/mysqlconn</driver-url> <!--url连接串--> <driver-class>com.mysql.jdbc.Driver</driver-class> <!--驱动类--> <driver-properties> <property name="user" value="root"/> <!--用户名--> <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>
注意,在程序中发起了过多线程,目的就是检验线程限制是否有效。
数据库内容如下:
- (Oracle功能篇) Oracle 数据库连接池
- oracle 数据库连接池
- oracle数据库连接池
- 数据库连接池 oracle java
- Oracle数据库连接
- Oracle数据库连接
- Oracle数据库连接
- Oracle数据库连接
- oracle 数据库连接
- Oracle数据库连接
- oracle数据库连接
- oracle数据库连接
- oracle数据库连接
- 数据库连接ORACLE
- Tomcat Oracle 数据库连接池问题
- Weblogic8配置Oracle数据库连接池
- Jboss配置Oracle数据库连接池
- Weblogic8配置Oracle数据库连接池
- JAVA位运算符回顾
- NSOperation/NSOperationQueue small demo
- python核心编程第九章习题答案(1)
- JDK的动态(静态)代理机制(转载并整理修改)
- @SuppressWarnings的使用、作用、用法
- (Oracle功能篇) Oracle 数据库连接池
- hadoop在ubuntu下的安装配置
- Android设置系统时间和时区
- 整合strust2和spring的关键点(为action注入service)
- Console命令详解,让调试js代码变得更简单
- BroadcastReceiver随笔(动态注册和静态注册)
- 【xtku】独立旅行xp主题_8.6
- C++继承详解
- linux访问网页内容