`

Oracle连接池

阅读更多

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);
    }
  }
}

分享到:
评论

相关推荐

    webphere下oracle连接池的配置

    在WebSphere环境下配置Oracle连接池是一项重要的任务,它能够显著提高应用程序的性能和响应速度。连接池技术可以有效管理数据库连接资源,避免频繁创建和销毁连接带来的性能开销。本文将详细介绍在WebSphere应用...

    Tomcat配置Oracle连接池.doc

    《Tomcat配置Oracle连接池详解》 在Java Web应用中,Tomcat作为流行的Servlet容器,其性能优化和资源管理是关键环节之一。Oracle数据库作为企业级的数据库管理系统,经常被用于存储大量数据。本文将深入探讨如何在...

    oracle 数据库,在C++中用连接池实现高速连接与访问.rar

    四、在C++中实现Oracle连接池 1. 初始化:首先,需要初始化环境和会话,设置必要的参数,如数据库服务器地址、端口、用户名、密码等。 2. 创建连接池:通过oci池化函数ociPoolCreate创建连接池,指定最小、最大连接...

    oracle连接池+驱动+jdbc

    在这个场景中,"oracle连接池+驱动+jdbc"的主题涉及了三个关键概念:Oracle JDBC驱动、连接池以及在Tomcat服务器中配置连接池的实践。 首先,Oracle JDBC驱动是Java应用程序与Oracle数据库通信的桥梁。Oracle提供了...

    BEA_Weblogic_配置Oracle连接池

    **BEA Weblogic配置Oracle连接池详解** BEA Weblogic Server(WLS)是一款功能强大的应用服务器,它支持多种数据库连接,包括Oracle数据库。配置Oracle连接池是确保Weblogic能够高效、安全地与Oracle数据库交互的...

    java配置oracle连接池[参考].pdf

    Java 配置 Oracle 连接池 Java 配置 Oracle 连接池是指在 Java 应用程序中配置连接 Oracle 数据库的连接池,以提高数据库访问的效率和性能。连接池是指在应用程序启动时创建的一组数据库连接,以便在需要时可以快速...

    jboss配置Oracle连接池.doc

    ### jboss配置Oracle连接池知识点解析 #### 一、配置Oracle连接池的步骤与方法 在JBoss服务器中配置Oracle数据库连接池是一项重要的任务,它能够有效地管理应用程序对数据库的访问,提高系统的性能和响应速度。...

    Websphere下oracle连接池的配置

    在IBM Websphere应用服务器中配置Oracle连接池是企业级应用程序与Oracle数据库交互的重要步骤。以下将详细解释这个过程中的各个关键知识点。 1. **Websphere概要文件(Profile)**:Websphere Application Server的...

    JAVA 使用数据库连接池连接Oracle数据库全代码

    ### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...

    数据库管理Oracle连接池信息的修改

    两个系统同时在使用过程中,正在开发的一个项目在测试运行时,时不时就出现连接池满了,连接不上的问题,为此查了下怎么修改Oracle连接池配置的修改方式,特记录下来备查。目前Oracle只支持一个连接池,poolname为...

    tomcat下配置oracle的连接池

    在Tomcat这样的应用服务器中配置Oracle连接池,可以有效地管理数据库连接,提高系统资源利用率,减少数据库的开销。下面我们将详细介绍如何在Tomcat下配置Oracle的连接池,包括局部和全局的配置。 首先,我们需要...

    MyEclipse链接oracle连接池的创建

    本篇将详细介绍如何在MyEclipse环境中创建Oracle数据库的连接池,以及如何在Java代码中进行调用。 首先,连接池是一种池化技术,它预先初始化并维护一定数量的数据库连接,当应用程序需要时可以从池中获取,使用...

    oracle 和mysql数据库的连接池一起下载

    Oracle连接池可以有效地减少数据库的开销,通过复用已存在的数据库连接而不是每次请求时创建新的连接。当一个应用程序打开一个新的连接时,连接池会检查是否有可用的空闲连接,如果有,则直接返回,而无需进行实际的...

    数据库连接池 java 整理

    要使用数据库连接池连接到Oracle数据库,首先需要在项目中添加Oracle JDBC驱动的依赖。通常,这可以通过Maven或Gradle等构建工具完成。例如,在Maven的pom.xml文件中,可以添加以下依赖: ```xml &lt;groupId&gt;...

    oracle9i 自带连接池Java代码

    Oracle连接池是一种用于存储、管理和重用数据库连接的对象池。它能够通过预创建一定数量的数据库连接,并将这些连接保存在一个池中,当应用程序需要使用数据库连接时,可以直接从池中获取一个已经建立好的连接,而不...

    java 数据库 连接池 jsp mysql oracle jdbc 配置

    java 数据库 连接池 jsp mysql oracle jdbc tomcat

    ADO.NET连接池示例

    ADO.NET链接对象(SqlConnection或者OracleConnection)默认情况都开启连接池(平时编程时可能会忽略)。当我们调用Close或者Dispose方法时,实际并不断开连接,而是把连接放回连接池,再次使用时候重连接池中取得...

    oracle 最大连接数问题

    特别是在使用如 WebLogic 或 WebSphere 这类中间件时,通过连接池的方式虽然可以有效提升数据源的连接数,但仍然可能会遇到连接数达到一定阈值后无法继续增加的情况。 #### 二、问题分析 根据提供的信息,该问题...

    连接池管理连接oracle数据库

    这是用连接池技术管理连接oracle数据库的工具类代码,如果想连接MySQL,直接修改配置文件即可。

    用数据库连接池连接orcale数据库

    本篇将详细介绍如何使用数据库连接池连接Oracle数据库,并以Java代码为例进行说明。 首先,我们需要理解数据库连接池的工作原理。数据库连接池在初始化时会创建一定数量的数据库连接,这些连接存储在一个池中。当...

Global site tag (gtag.js) - Google Analytics