因为公司自己做的数据库连接池比较差劲,让我不由很是不爽。但是心里对连接池还有点不了解。所以想找开源的数据库连接池来研究一下。首选当然是dbcp(http://jakarta.apache.org/commons/dbcp/)这个apache的开源的数据库连接池。结果发现dbcp依赖Apache common pool(http://jakarta.apache.org/commons/pool/),那好,就从Apache common pool来开刀。
ObjectPool 是一个简单的接口,定义了pool最常用的两个功能。
java 代码
- public interface ObjectPool {
- Object borrowObject();
- void returnObject(Object borrowed);
- }
(借)取一个对象 borrowObject, 归还一个对象 returnObject 象借书还书一样简单。
客户程序基本上就是跟这两个函数打叫道,这样保证了这个pool的易用性。
BaseObjectPool 提供了 ObjectPool 一个的抽象的基础的实现。通常情况下可以继承这个类来进行扩展一个新的ObjectPool 实现,当然这不是必须的。
KeyedObjectPool 提供一个跟 ObjectPool 类似的实现,不过他可以池化多种类型的实例,用户根据 key 来获取特定类型的对象。
java 代码
- public interface KeyedObjectPool {
- Object borrowObject(Object key);
- void returnObject(Object key, Object borrowed);
- }
用法示例:
java 代码
- Object obj = null;
- Object key = "Key";
-
- try {
- obj = pool.borrowObject(key);
-
- } catch(Exception e) {
-
- } finally {
-
- if(null != obj) {
- pool.returnObject(key,obj);
- }
- }
分享到:
相关推荐
下面通过一个简单的样例来说明如何利用apache common pool来应用对象池。 假定我现在有一个任务,就是对一堆字符串进行格式化,为了加快速度,采用了多线程的方式允许,而格式化则是通过对象StringFormat来实现。 ...
apache common pool2 实例 简单实用,集成spring,配置信息通过配置文件全程配置
apache common pool 对象池框架 demo代码
NULL 博文链接:https://m635674608.iteye.com/blog/2089382
对应Maven信息:groupId:org.apache.commons,artifactId:commons-pool2,version:2.5.0 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...
NULL 博文链接:https://aperise.iteye.com/blog/2399752
标签:apache、commons、pool2、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
包含commons-beanutils-1.9.3-bin commons-collections4-4.1-bin commons-dbcp-1.4-bin commons-lang-2.6-bin commons-lang3-3.6-bin commons-pool-1.6-bin commons-pool2-2.4.3-bin
DBCP(DataBase Connection Pool)是 apache common上的一个 java 连接池项目,也是 tomcat 使用的连接池组件,依赖 于Jakarta commons-pool 对象池机制,DBCP可以直接的在应用程序中使用。 使用DBCP会用到commons-...
套接字-Apache-公共-Pool2 这是一个有关如何使用套接字服务器和客户端的演示。 套接字客户端使用Apache公共pool2来管理套接字。 因此,我们可以在多线程的情况下使用共享套接字。 我使用bernardvai的示例创建了套接...
储蓄池 Thrift RPC连接池,java实现,基于apache commons pool
commons-dbcp-1.4 jar java连接池. .commons-dbcp 是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...
go-commons-pool, 用于golang的通用对象池 共享池 go公共池是用于 Golang的通用对象池,直接从 Apache公共池重写。特性支持自定义 PooledObjectFactory 。Rich pool配置选项,可以精确控制池对象生命周期。 请参见 ...
spymemcache 的连接池 Spymemcache 是单线程 IO,即使我们在此连接上进行多操作,它也只维护一个到 ... 否则,请使用我的 spymemcache-commonpool-2,它更安全、更快且经过测试 例子 见测试功能 执照 做你想做的。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
使用JDK1.8、SpringBoot2.2.10.RELEASE、lombok1.18.8、guava23.0、hutool5.3.10、commons-pool2 2.7.0、tika1.22等实现多Ftp连接池实现,通过守护线程实现连接池内连接可用性校验,配置最大、最小连接个数防止Ftp...
下载apache的common pool包, 将这几个jar包拷贝到tomcat7的lib目录下 其实这里是有坑的,不过你们比较幸运,我帮你先踩了。如果你全部下载最新版本的话,肯定启动不起来。我试了很久才匹配这些jar的版本。在附件中...
包括以下jar包: Attributes Beanutils Betwixt Chain CLI Codec Collections Configuration Daemon DBCP DbUtils Digester Discovery EL ...Pool Primitives Proxy SCXML Transaction Validator VFS