JDBC -- Connection Pool

Connection Pool: create many connection objects in advance, and put the connection into the cache(list). The client will get the connection from the cache, return the connectio to the cache after using it. This way could improve the access effeciency of data base.

Simulate the connection pool:

package com.pp.pool;

import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;

import com.pp.util.JdbcUtil;

/*
 * Simulate the completion of connetion pool
 */
public class SimpleConnectionPool {
    private static List<Connection> pool = new ArrayList<Connection>();

    static {
        for (int i = 0; i < 10; i++) {
            Connection conn = JdbcUtil.getConnection();
            pool.add(conn);
        }

    }

    // get the connection object from cache pool
    public synchronized static Connection getConnection() {
        if (pool.size() > 0) {
            Connection conn = pool.remove(0);
            return conn;
        } else {
            throw new RuntimeException("Server is busy!");
        }
    }

    // return the connection
    public static void releas(Connection conn) {
        pool.add(conn);
    }
}
时间: 2024-11-08 01:32:41

JDBC -- Connection Pool的相关文章

Weblogic常见故障一:JDBC Connection Pools

最近系统老是出现数据库连接池不够用的问题,由于weblogic数据源里没有配置JDBC连接数,取的是默认值15,太小导致connection耗尽,是不是就报一堆错.后来通过修改WebLogic数据源配置文件,问题得到解决.以下为解决步骤: 步骤1:查看weblogic\Middleware\user_projects\domains\base_domain\config\config.xml文件中jdbc的descriptor-file-name <jdbc-system-resource>

Tomcat数据源--DataSource&amp;Connection Pool

连接池:连接池是由容器(比如Tomcat)提供的,用来管理池中的连接对象.连接池自动分配连接对象并对闲置的连接进行回收.连接池中的连接对象是由数据源(DataSource)创建的.连接池(Connection Pool)用来管理连接(Connection)对象. 数据源:数据源(DataSource)用来连接数据库,创建连接(Connection)对象. java.sql.DataSource接口负责建立与数据库的连接 由Tomcat提供,将连接保存在连接池中. JNDI(Java Naming

com.mysql.jdbc.connection.isvalid

java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid 版本问题 mysql-connector 版本为 5.0.4 ,那么对应的 dbcp 和 pool 版本应该为 1.4 和 1.6 isVaild 在 com.mysql.jdbc.Connection (5.0.4 ) 中并未实现上述方法,因此将会抛出抽象方法错误. 如果需要使用 dbcp 2.0 ,那么 mysql-connector 必须使用 5.1.3 版本.

Could not get JDBC connection

想学习下JavaWeb,手头有2017年有活动的时候买的一本书,还是全彩的,应该很适合我这种菜鸟技术渣. 只可惜照着书搭建了一套Web环境,代码和db脚本都是拷贝的光盘里的,也反复检查了数据库的连接情况,Navicat可以正常连,涉及到的两个数据库配置文件里面的url.端口.密码应该都是对的,反复折腾了一晚上没搞定,临了百度一顿乱搜,看到一个帖子(https://www.2cto.com/database/201807/762696.html)里面提到的一句话(最后发现因为我使用的是MySQL8

Jmeter配置元件——JDBC Connection Configuration参数化

在昨天Jmeter配置元件——CSV DataSet Config参数化一文中,有提到,在参数化时,还可以使用JDBC Connection Configuration配置元件实现,具体如何实现,如何操作,且听详解. jar包下载 在Jmeter 中想用到连接数据库的功能,必须下载jar包,下载地址. 下载好了jar包,如何使用呢?使用方式有二. 其一:下载的jar包保存在非Jmeter的lib下的ext目录下,则需要在Jmeter工程中测试计划元件下指定jar包路径,如下图所示: 其二:下载的

java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题

package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class TestJDBC { public static void main(String[] args) { try { Class.forName(

JDBC Connection Reset问题分析

2014年7月13日 半年前开始,项目组测试MM在验证功能时,经常报怨讲测试环境上的应用在启动时很慢,偶尔会报失败,遇到类似问题多数情况下重新启动一次就可以启动成功,但少数时候也有反复启动不成功的案例.当启动失败时,日志里有如下的异常,看起来似乎和网络有关. java.sql.SQLRecoverableException: I/O Exception: Connection reset at oracle.jdbc.driver.SQLStateMapping.newSQLException(

解决Only a type can be imported. com.mysql.jdbc.Connection resolves to a package的报错问题

写jsp加载数据驱动以后老是提示Only a type can be imported. com.mysql.jdbc.Connection resolves to a package的错误,然而改成java就无报错 出错的原因:没有成功引入包 解决方法:将mysql-connector-java-5.1.39-bin.jar放到tomcat的bin目录下就可以解决  

[原理][来源解析]spring于@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关联

Spring 捆绑Hibernate. 夹: 一.  1. Spring 怎样处理propagation=Propagation.SUPPORTS? 2. Spring 何时生成HibernateSession ? 3.  propagation=Propagation.SUPPORTS和propagation=Propagation.require对生成Session有何影响,共同点和差别 ? 3.1. 未配置@Transaction和 配置@Transaction(propagation=P