db连接池
来源:互联网 发布:网络大电影公司排名 编辑:程序博客网 时间:2024/04/29 19:25
1、下载proxool 地址:http://proxool.sourceforge.net
2、解压缩proxool-0.9.0RC2.zip,拷贝lib/proxool-0.9.0RC2.jar到web-info/lib
拷贝jdbc驱动到web-info/lib
3、在WEB-INF/classes/下建立文件:Proxool.properties
文件内容如下:
//网上查车数据库
jdbc-1.proxool.alias=WEBGIS
jdbc-1.proxool.driver-class=oracle.jdbc.driver.OracleDriver
jdbc-1.proxool.driver-url=jdbc:oracle:thin:@192.168.0.1:1521:ORCL
jdbc-1.user=gis
jdbc-1.password=1
jdbc-1.proxool.maximum-connection-count=20
jdbc-1.proxool.prototype-count=4
jdbc-1.proxool.house-keeping-test-sql=select sysdate from DUAL
jdbc-1.proxool.verbose=true
jdbc-1.proxool.statistics=10s,1m,1d
jdbc-1.proxool.statistics-log-level=ERROR
//标准版数据库
jdbc-2.proxool.alias=Navtech
jdbc-2.proxool.driver-class=oracle.jdbc.driver.OracleDriver
jdbc-2.proxool.driver-url=jdbc:oracle:thin:@192.168.0.2:1521:orcl
jdbc-2.user=Nav
jdbc-2.password=1
jdbc-2.proxool.maximum-connection-count=20
jdbc-2.proxool.prototype-count=4
jdbc-2.proxool.house-keeping-test-sql=select sysdate from DUAL
jdbc-2.proxool.verbose=true
jdbc-2.proxool.statistics=10s,1m,1d
jdbc-2.proxool.statistics-log-level=ERROR
//计费数据库
jdbc-3.proxool.alias=Fee
jdbc-3.proxool.driver-class=oracle.jdbc.driver.OracleDriver
jdbc-3.proxool.driver-url=jdbc:oracle:thin:@192.168.0.3:1521:ORCL
jdbc-3.user=fee
jdbc-3.password=1
jdbc-3.proxool.maximum-connection-count=20
jdbc-3.proxool.prototype-count=4
jdbc-3.proxool.house-keeping-test-sql=select sysdate from DUAL
jdbc-3.proxool.verbose=true
jdbc-3.proxool.statistics=10s,1m,1d
jdbc-3.proxool.statistics-log-level=ERROR
4、创建连接管理类
import java.sql.*;
import java.io.*;
import java.util.*;
import org.logicalcobwebs.proxool.configuration.PropertyConfigurator;
import org.logicalcobwebs.proxool.ProxoolException;
public class ConnectionManager {
static private ConnectionManager instance;
static synchronized public ConnectionManager getInstance() {
if (instance == null) {
instance = new ConnectionManager();
}
return instance;
}
private ConnectionManager() {
this.init();
}
public void freeConnection(String name, Connection con) {
try{
if(con!=null) con.close();
}catch(Exception ex){ex.printStackTrace();}
}
public Connection getConnection(String proxoolname) {
try {
return DriverManager.getConnection(proxoolname);
} catch (SQLException ex) {
return null;
}
}
public void release() {}
private void init(){
try {
InputStream is = getClass().getResourceAsStream("/Proxool.properties");
Properties properties = new Properties();
properties.load(is);
PropertyConfigurator.configure(properties);
} catch (IOException ex) {
ex.printStackTrace();
} catch (ProxoolException e1) {
e1.printStackTrace();
}
}
}
5、使用示例(节选)
public Vector SqlExcute(String poolname,String sqlString) {
Vector rc = new Vector();
int colCnt = 0;
try {
connmanager = ConnectionManager.getInstance();
conn = connmanager.getConnection(poolname); //此处应为你要使用的连接池的名称,如:proxool.WEBGIS或proxool.Navtech或proxool.Fee
pstam = conn.prepareStatement(sqlString);
rs = pstam.executeQuery();
colCnt = rs.getMetaData().getColumnCount();
while (rs.next()) {
String[] tempStr = new String[colCnt];
for (int i = 0; i < colCnt; i++) {
tempStr[i] = rs.getString(i + 1);
if (tempStr[i] == null) {
tempStr[i] = "";
}
}
rc.add(tempStr);
}
} catch (Exception e) {
} finally {
try {
rs.close();
pstam.close();
} catch (Exception e) {
e.printStackTrace();
}
if (conn != null) {
try {
connmanager.freeConnection(poolname, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return rc;
}
转载地址:http://blog.chinaunix.net/uid-7940057-id-2036607.html
- DB连接池
- DB连接池
- db连接池
- tomcat6配置DB连接池
- Ti:关于DB连接池
- DB 连接
- asp连接db
- 获取db连接
- java连接oracle DB
- DB连接字符串
- 各种DB连接字符串。
- ole db 连接oracle
- JDBC连接DB
- C# 连接Paradox DB
- OLE DB、ODBC 和 Oracle 连接池 (ADO.NET)
- ado 连接 paradox db数据库
- 通过OLE DB 连接 SQL2000
- 清空DB连接数
- jsp自定义标签库总结
- hdu 5291 Candy Distribution 2015 Multi-University Training Contest 1 树形dp,
- ExcelUtils遍历集合时获取当前的索引
- 编译安装httpd,php,mysql搭建LAMP
- 九度oj 1434
- db连接池
- NYOJ 24 素数距离问题
- 各个组件的简介
- Ubntu 14.04 LTS 下编译安装R Source Code
- 安卓市场--框架搭建5
- 关于自定义控件在布局文件中使用时提示error: Error parsing XML: not well-formed (invalid token)错误的问题
- wget连接被对端重置
- CSS清除浮动
- Qt同步线程的几种方法