📄 pooltest.java
字号:
package com.icbcsdc.ddlexp.pub.connectionpool;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @author zhangyc
* 2004-12-30 edit by zhangp (rs.close())
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class PoolTest {
/**
* Constructor for PoolTest.
*/
public PoolTest() {
super();
}
/**
* 测试连接是否可以自动恢复
* */
public static void testGetConneciton(){
String driverClassName = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String dbUser = "root";
String dbPassword = "root";
String backDir="/usr/local/mysql";
JDBCPool jcnn=null;
String sqlstr="select * from t1";
//第一步:获取唯一的连接池管理器实例
JDBCPoolManager manager=JDBCPoolManager.getInstance();
//第二步:根据需要,设置连接池管理器的属性
manager.setPoolMinSize(1);
manager.setPoolMaxSize(4);
//第三步:获取可用的空闲连接
try {
jcnn=manager.getJDBCPool(driverClassName,url,dbUser,dbPassword);
} catch (JDBCException e) {
System.out.println(e.getMessage());
return;
}
//第四步:执行sql语句
ResultSet rs=null;
try {
rs = jcnn.executeQuery(sqlstr);
while(rs.next()){
System.out.println(rs.getInt("col1"));
}
} catch (JDBCException e) {
System.out.println(e.getMessage());
return;
} catch (SQLException e) {
System.out.println(e.getMessage());
return;
}
// ResultSet对象的关闭由调用者实现
try {
rs.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
return;
}
/**
* } catch (Exception e) {
System.out.println(e.getMessage());
return;
//e.printStackTrace();
}*/
}
/**
* 测试如何正确获取连接
* */
public static void testReConneciton(){
String driverClassName = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String dbUser = "root";
String dbPassword = "root";
int id=0;
String backDir="/usr/local/mysql";
boolean notStop=true;
int count=25;
JDBCPool jcnn=null;
JDBCPool jcnn1=null;
String sqlstr="select * from t1";
String sqlstr1="select * from t2";
//第一步:获取唯一的连接池管理器实例
JDBCPoolManager manager=JDBCPoolManager.getInstance();
try {
//第二步:根据需要,设置连接池管理器的属性
manager.setPoolMinSize(1);
manager.setPoolMaxSize(4);
//第三步:获取可用的空闲连接
jcnn=manager.getJDBCPool(driverClassName,url,dbUser,dbPassword);
//第四步:执行sql语句
ResultSet rs = jcnn.executeQuery(sqlstr);
while(rs.next()){
System.out.println(rs.getInt("col1"));
}
//ResultSet对象的关闭由调用者实现
rs.close();
} catch (Exception e) {
//e.printStackTrace();
//System.out.println(e.getMessage());
}
try {
Thread.currentThread().sleep(1500);
ResultSet rs1 = jcnn.executeQuery(sqlstr1);
while(rs1.next()){
System.out.println(rs1.getInt("c1"));
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
///**
try {
jcnn1=manager.getJDBCPool(driverClassName,url,dbUser,dbPassword);
ResultSet rs2=jcnn1.executeQuery(sqlstr);
while(rs2.next()){
System.out.println(rs2.getInt("col1"));
}
} catch (Exception e) {
e.printStackTrace();
//System.out.println(e.getMessage());
}
//**/
}
/**
* 测试连接是否可以自动恢复
* */
public static void testPoolShrink(){
String driverClassName = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String dbUser = "root";
String dbPassword = "root1";
String backDir="/usr/local/mysql";
boolean notStop=true;
int count=25;
String sqlstr="select * from t1";
String sqlstr1="select * from t2";
//第一步:获取唯一的连接池管理器实例
JDBCPoolManager manager=JDBCPoolManager.getInstance();
try {
//第二步:根据需要,设置连接池管理器的属性
manager.setScanInterval(400);
manager.setPoolMinSize(1);
manager.setPoolMaxSize(4);
//第三步:获取可用的空闲连接
JDBCPool jcnn=manager.getJDBCPool(driverClassName,url,dbUser,dbPassword);
//第四步:执行sql语句
ResultSet rs=jcnn.executeQuery(sqlstr);
while(rs.next()){
System.out.println(rs.getInt("col1"));
}
rs.close();
JDBCPool jcnn1=manager.getJDBCPool(driverClassName,url,dbUser,dbPassword);
System.out.println(jcnn1.toString());
ResultSet rs1=jcnn1.executeQuery(sqlstr1);
while(rs1.next()){
System.out.println(rs1.getInt("c1"));
}
Thread.currentThread().sleep(2000);
} catch (Exception e) {
System.out.println(e.getMessage());
//e.printStackTrace();
}
}
public static void main(String[] args) {
//testGetConneciton();
//testReConneciton();
testPoolShrink();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -