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);
}
}
}
分享到:
相关推荐
在WebSphere环境下配置Oracle连接池是一项重要的任务,它能够显著提高应用程序的性能和响应速度。连接池技术可以有效管理数据库连接资源,避免频繁创建和销毁连接带来的性能开销。本文将详细介绍在WebSphere应用...
《Tomcat配置Oracle连接池详解》 在Java Web应用中,Tomcat作为流行的Servlet容器,其性能优化和资源管理是关键环节之一。Oracle数据库作为企业级的数据库管理系统,经常被用于存储大量数据。本文将深入探讨如何在...
四、在C++中实现Oracle连接池 1. 初始化:首先,需要初始化环境和会话,设置必要的参数,如数据库服务器地址、端口、用户名、密码等。 2. 创建连接池:通过oci池化函数ociPoolCreate创建连接池,指定最小、最大连接...
在这个场景中,"oracle连接池+驱动+jdbc"的主题涉及了三个关键概念:Oracle JDBC驱动、连接池以及在Tomcat服务器中配置连接池的实践。 首先,Oracle JDBC驱动是Java应用程序与Oracle数据库通信的桥梁。Oracle提供了...
**BEA Weblogic配置Oracle连接池详解** BEA Weblogic Server(WLS)是一款功能强大的应用服务器,它支持多种数据库连接,包括Oracle数据库。配置Oracle连接池是确保Weblogic能够高效、安全地与Oracle数据库交互的...
Java 配置 Oracle 连接池 Java 配置 Oracle 连接池是指在 Java 应用程序中配置连接 Oracle 数据库的连接池,以提高数据库访问的效率和性能。连接池是指在应用程序启动时创建的一组数据库连接,以便在需要时可以快速...
### jboss配置Oracle连接池知识点解析 #### 一、配置Oracle连接池的步骤与方法 在JBoss服务器中配置Oracle数据库连接池是一项重要的任务,它能够有效地管理应用程序对数据库的访问,提高系统的性能和响应速度。...
在IBM Websphere应用服务器中配置Oracle连接池是企业级应用程序与Oracle数据库交互的重要步骤。以下将详细解释这个过程中的各个关键知识点。 1. **Websphere概要文件(Profile)**:Websphere Application Server的...
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
两个系统同时在使用过程中,正在开发的一个项目在测试运行时,时不时就出现连接池满了,连接不上的问题,为此查了下怎么修改Oracle连接池配置的修改方式,特记录下来备查。目前Oracle只支持一个连接池,poolname为...
在Tomcat这样的应用服务器中配置Oracle连接池,可以有效地管理数据库连接,提高系统资源利用率,减少数据库的开销。下面我们将详细介绍如何在Tomcat下配置Oracle的连接池,包括局部和全局的配置。 首先,我们需要...
本篇将详细介绍如何在MyEclipse环境中创建Oracle数据库的连接池,以及如何在Java代码中进行调用。 首先,连接池是一种池化技术,它预先初始化并维护一定数量的数据库连接,当应用程序需要时可以从池中获取,使用...
Oracle连接池可以有效地减少数据库的开销,通过复用已存在的数据库连接而不是每次请求时创建新的连接。当一个应用程序打开一个新的连接时,连接池会检查是否有可用的空闲连接,如果有,则直接返回,而无需进行实际的...
要使用数据库连接池连接到Oracle数据库,首先需要在项目中添加Oracle JDBC驱动的依赖。通常,这可以通过Maven或Gradle等构建工具完成。例如,在Maven的pom.xml文件中,可以添加以下依赖: ```xml <groupId>...
Oracle连接池是一种用于存储、管理和重用数据库连接的对象池。它能够通过预创建一定数量的数据库连接,并将这些连接保存在一个池中,当应用程序需要使用数据库连接时,可以直接从池中获取一个已经建立好的连接,而不...
java 数据库 连接池 jsp mysql oracle jdbc tomcat
ADO.NET链接对象(SqlConnection或者OracleConnection)默认情况都开启连接池(平时编程时可能会忽略)。当我们调用Close或者Dispose方法时,实际并不断开连接,而是把连接放回连接池,再次使用时候重连接池中取得...
特别是在使用如 WebLogic 或 WebSphere 这类中间件时,通过连接池的方式虽然可以有效提升数据源的连接数,但仍然可能会遇到连接数达到一定阈值后无法继续增加的情况。 #### 二、问题分析 根据提供的信息,该问题...
这是用连接池技术管理连接oracle数据库的工具类代码,如果想连接MySQL,直接修改配置文件即可。
本篇将详细介绍如何使用数据库连接池连接Oracle数据库,并以Java代码为例进行说明。 首先,我们需要理解数据库连接池的工作原理。数据库连接池在初始化时会创建一定数量的数据库连接,这些连接存储在一个池中。当...