入口点:ProxoolFacade.
启动顺序:
ProxoolDriver -> ProxoolFacade.registerConnectionPool ->
调用顺序
ProxoolDriver.connect -> ConnectionPoolManager.getConnectionPool -> connectionPool.getConnection
-> ProxyConnection = prototyper.buildConnection -> proxyConnection.open();
-> ProxyFactory.getWrappedConnection(proxyConnection)
-> WrappedConnection
之后的调用都使用了proxy模式
关闭链接:
WrappedConnection -> close -> proxyConnection.close()
-> openStatements.close -> connectionPool.removeProxy
真正关闭链接:
HouseKeeper -> connectionPool.removeProxyConnection -> CompositeConnectionListener.onDeath ->
ConnectionListenerIF.onDeath
proxyConnection.reallyClose();
proxyConnections.remove(proxyConnection);
----------------------------------
连接池设计原则:
1. 当没有请求的时候,连接池=0
2. 当有稳定的请求的时候,通过复用connection提高性能。
3. 当突然爆发链接的时候,增加连接池能力
4. 当高峰期过后,能够自动减少连接池能力。
5. 当connection开启了事务之后,这个链接被独占了,无法被分配。
http://www.zhujiangroad.com/html/soft/s2928.html
基于JDBC的数据库连接池技术研究与设计
。 连接添加一个引用计数器
。当用户closeconnection 的时候,判断引用次数》规定?是就删除;判断是否》最小连接数?小于就放回;否则删除。
。每个事务独占一个connection
分享到:
相关推荐
"proxool源码包"则提供了Proxool的源代码,这对于开发者来说是极其宝贵的资源。通过阅读源码,开发者可以深入理解Proxool的工作原理,学习如何配置和优化连接池,甚至根据需求进行定制化开发。 描述中的"Java实现...
`proxool的源码包` 提供了Proxool的源代码,这对于开发者来说是极其宝贵的资源。通过阅读源代码,开发者可以深入了解Proxool的工作原理,调试问题,甚至根据需求对其进行定制或扩展。 `Java实现oracle proxool 单态...
**Proxool源码分析** Proxool是一个开源的、基于Java的数据库连接池,它在2003年由iBatis(现在的MyBatis)团队开发并维护,旨在提供一个轻量级、高效的数据库连接管理解决方案。在深入研究Proxool源码之前,我们先...
**Proxool源码分析与API详解** Proxool是一个开源的Java数据库连接池实现,它为应用程序提供了灵活且高效的数据库连接管理。在本篇中,我们将深入探讨Proxool的源码,理解其工作原理,并详细介绍相关的API,以及...
**Proxool源码分析** Proxool是一个开源的数据库连接池实现,它在Java环境中提供了高效的数据库连接管理。在0.9.1版本中,我们可以深入研究其内部机制,理解如何实现数据库连接的创建、管理和回收,以及如何优化...
Java 使用 Proxool 连接 MySQL 数据库是一个常见的任务,特别是在需要管理多个数据库连接或者希望实现连接池功能的场景下。Proxool 是一个轻量级的数据库连接池,它提供了一种简单的方法来管理和控制数据库连接,以...
标签“源码”意味着我们可以研究Proxool的源代码,了解其内部实现机制,这对于深入理解数据库连接池的工作原理和优化应用性能非常有帮助。 标签“工具”表明Proxool作为一个工具类库,可以方便地集成到各种Java项目...
<内含jar包,源代码,文档> 版本号为0.9,是2009-08-15日最新的版本。 下载不扣分,回帖加1分,欢迎下载,童叟无欺 Proxool: Proxy JDBC Connection Poolby billhorsman A Java SQL Driver that provides a ...
将Proxool数据源集成到Java应用中,通常需要在应用服务器或应用程序的初始化代码中进行配置。例如,在Spring框架中,可以通过XML配置文件定义一个Bean来创建数据源。 8. **监控与日志** Proxool提供了一些内置的...
Proxool 是一个轻量级、高效的开源 Java 数据库连接池,它提供了一种灵活的方式来管理和控制数据库连接。在这个主题中,我们将深入理解 Proxool 的核心概念、配置选项以及如何在实际项目中应用它。 首先,了解 ...
标题中的"proxool-0.9.1.jar"和"proxool_cglib-0.9.1.jar"是两个Java库文件,它们是Proxool项目在0.9.1版本时的实现。Proxool是一个开源的数据库连接池,它提供了一种灵活且高效的解决方案来管理数据库连接。在Java...
标题中的“hibernate3+ proxool-0.9.1配置”涉及到的是在Java开发中,使用Hibernate3 ORM框架与Proxool连接池的整合配置。Hibernate3是一款流行的持久层框架,它允许开发者用面向对象的方式来操作数据库,而Proxool...
标题 "proxool相关jar包.rar" 提供的信息表明,这个压缩包包含的是与Proxool相关的Java类库,主要用于数据库连接池管理。Proxool是一个开源的、基于Apache 2.0许可证的JDBC连接池实现,它为Java应用程序提供了一个...
1. **源代码文件**:Java源代码,组织在对应的包结构中,用于编译和理解Proxool的工作原理。 2. **构建脚本**:可能是Ant或Maven的build.xml或pom.xml文件,用于自动化构建过程。 3. **文档**:README文件、API文档...
"Proxool-0.9.1-source"是Proxool的一个特定版本的源代码包,主要用于数据库连接池管理。Proxool是一个开源的、基于Java的数据库连接池实现,它提供了一种灵活且可扩展的方式来管理和优化数据库连接。在这个0.9.1...
`Mybatis`则是一个优秀的持久层框架,它简化了SQL操作,将SQL语句与Java代码解耦,使得开发者可以更加专注于业务逻辑。Mybatis支持动态SQL,允许在XML映射文件或注解中编写灵活的查询。 整合`Proxool`和`Mybatis`的...
在Proxool中,CGLIB可能用于创建动态代理,以便在不修改源代码的情况下对数据库连接进行监控和管理。 标签“java 数据库连接池 proxool 中文乱码”揭示了这个包特别适用于解决在Java环境下使用Proxool时可能出现的...
标题中的"proxool 多数据源动态切换"指的是在Java应用程序中使用Proxool作为连接池,实现数据库连接的动态切换。Proxool是Apache软件基金会的一个开源项目,它提供了一个灵活、轻量级的数据库连接池解决方案。多数据...
CGLIB通常用于扩展Java类,尤其是当无法修改源代码时,它可以创建一个目标类的子类并覆盖方法。 2. **proxool-0.9.1.jar**:这是Proxool的主要库文件,包含了所有核心功能。它提供了数据库连接池的配置、管理和监控...
1. **源代码**:通常,开源项目会包含源代码文件夹,开发者可以查看和修改源码,了解其内部工作机制。Proxool的源码可能分布在`src/main/java`目录下,主要由Java类组成,实现了连接池的核心功能,如连接创建、管理...