Oracle连接池
public class ConnectionPool {
private Vector pool;
private String url;
private String username;
private String password;
private String driverClassName;
/***
* 连接池的大小,也就是连接池中有多少个数据库连接
*/
private int poolsize = 1;
private static ConnectionPool instance = null;
private ConnectionPool(){
init();
}
private void init() {
pool = new Vector(poolsize);
// readConfig();
addConnection();
}
/***
* 返回连接到连接池中
*/
public synchronized void release(Connection conn){
pool.add(conn);
}
/***
* 返回连接池中的一个对象
*/
public static ConnectionPool getInstance(){
if(instance == null){
instance = new ConnectionPool();
}
return instance;
}
public synchronized Connection getConnection(){
if(pool.size() > 0){
Connection conn = (Connection) pool.get(0);
pool.remove(conn);
return conn;
}else{
return null;
}
}
// private void readConfig() {
// try{
// String path = System.getProperty("user.dir"+"\\dbpool.properties");
// FileInputStream is = new FileInputStream(path);
// Properties props = new Properties();
// props.load(is);
// this.driverClassName = props.getProperty("driverClassName");
// this.username = props.getProperty("username");
// this.password = props.getProperty("password");
// this.url = props.getProperty("url");
// this.poolsize = Integer.parseInt(props.getProperty("poolsize"));
// this.driverClassName="oracle.jdbc.driver.OracleDriver";
// this.username="username";
// this.password="abc";
// this.url="jdbc:oracle:thin:@10.65.64.40:1522:orcl";
// this.poolsize=10;
//
// }catch(Exception e){
// e.printStackTrace();
// System.out.println("读取属性文件出错!");
// }
// }
/***
*
*/
private void addConnection() {
Connection conn = null;
for(int i=0; i<10; i++){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "username", "abc");
pool.add(conn);
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}
/***
* 关闭连接池中的连接
*/
public synchronized void closePool(){
for(int i=0; i<pool.size(); i++){
try {
( (Connection) pool.get(i)).close();
}
catch (SQLException ex) {
ex.printStackTrace();
}
pool.remove(i);
}
}
}
分享到:
相关推荐
Tomcat配置Oracle连接池.doc
在websphere下配置oracle的连接池,在访问项目时使用连接池
jboss配置Oracle连接池.doc
java配置oracle连接池[参考].pdf
MyEclipse链接oracle连接池的创建
JAVA 使用数据库连接池连接Oracle数据库,全代码,附加详细说明
BEA_Weblogic_配置Oracle连接池 轻松搞定
oracle 数据库,在C++中用连接池实现高速连接与访问.rar
Websphere下oracle连接池的配置 一、websphere下创建oracle数据源 启动websphere中所用概要文件的服务(此例中使用的概要文件为:AppSrv02;若已启动则不需此操作) 进入AppSrv02的控制台 在左侧导航栏中选择“环境...
两个系统同时在使用过程中,正在开发的一个项目在测试运行时,时不时就出现连接池满了,连接不上的问题,为此查了下怎么修改Oracle连接池配置的修改方式,特记录下来备查。目前Oracle只支持一个连接池,poolname为...
oracle连接池配置[归类].pdf
十分简洁的一个oracle链接,内附驱动,并且有关于Tomcat连接池的使用方法。
数据库连接池 java 整理 oracle数据库
java 数据库 连接池 jsp mysql oracle jdbc tomcat
ADO.NET链接对象(SqlConnection或者OracleConnection)默认情况都开启连接池(平时编程时可能会忽略)。当我们调用Close或者Dispose方法时,实际并不断开连接,而是把连接放回连接池,再次使用时候重连接池中取得...
python-oracledb的源码和使用示例代码, python-oracledb 1.0,适用于Python versions 3.6 through 3.10. Oracle Database; This directory contains samples for python-oracledb. 1. The schemas and SQL ...
这是用连接池技术管理连接oracle数据库的工具类代码,如果想连接MySQL,直接修改配置文件即可。
tomcat下配置oracle的连接池配置,包括局部的连接池和全局的连接池
Oracle连接池驱动包,本人亲测支持c3p0等主流数据库连接池.