【高手指教】请问数据库连接池技术中dbcp、c3p0、jndi三者的联系、应用范围以及优缺点是什么?
RT,请高手指教!
------解决方案--------------------------------------------------------
dbcp、c3p0 是两个数据库连接池
这两个连接池都是Hibernate建议使用的连接池
DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。
C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。
JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
JNDI与JDBC:
JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个纪录,同时返回数据库连接建立所必须的信息。
参考资料:
http://java.sun.com/products/jndi/examples.html
http://java.sun.com/products/jndi/serviceproviders.html
常用的JNDI操作:
void bind(String sName,Object object);――绑定:把名称同对象关联的过程
void rebind(String sName,Object object);――重新绑定:用来把对象同一个已经存在的名称重新绑定
void unbind(String sName);――释放:用来把对象从目录中释放出来
void lookup(String sName,Object object);――查找:返回目录总的一个对象
void rename(String sOldName,String sNewName);――重命名:用来修改对象名称绑定的名称
NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
NamingEnumeration list(String sName);
代码示例:重新得到了名称、类名和绑定对象。
NamingEnumeration namEnumList = ctxt.listBinding("cntxtName");
...
while ( namEnumList.hasMore() ) {
Binding bnd = (Binding) namEnumList.next();
String sObjName = bnd.getName();
String sClassName = bnd.getClassName();
SomeObject objLocal = (SomeObject) bnd.getObject();
}
分享到:
相关推荐
JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP) 源码包含各个数据库连接池的连接DEMO spring+mybatis+maven
里面有dbcp以及其依赖的jar包和c3p0jar包。可以通过使用数据库链接池,高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。
数据库连接池的资源包(c3p0 , dbcp,druid连接池)
DBCP、C3P0,JNDI 连接池配置使用,可以参考一下。
技术分享:DBCP、C3P0、JNDI数据库连接对比
包含了连接数据库连接池所需的大部分jar包
此含dbcp c3p0 连接池的jar 文件,下载后可直接引入项目使用,已经验证
1. 引 2. 数据库连接池 3. 主要配置说明 2. FindBugs:Java 静态代码检查(3486)
DBCP 数据库连接池 DBCP 数据库连接池 DBCP 数据库连接池 里面是DBCP的jar,导进去就可以用了
dbcp数据库连接池需要用到的jar,包括源码和api文档,javadoc
DBCP数据库连接池的完整jar包
DBCP配置数据库连接池实现对数据库的连接并附上增删改查
常见的两种数据库连接池的jar包和源码。
该文件包含了DBCP,C3P0数据库连接池所需要的jar,有需要的可以下载哦
本例演示c3p0 、dbcp 、proxool三种常用数据库连接池的用法及log4j2日志使用方法
DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。
c3p0-0.9.5.1,commons-dbcp-1.4,commons-pool-1.3,druid-1.0.26,junit-4.7等jar包,可供选择,一般在后期做项目的时候都离不开,必定会用到一个连接池,c3p0、或者阿里巴巴的druid、或者dbcp,dbcp很少用
NULL 博文链接:https://housheng33.iteye.com/blog/1522705
java web开发 dbcp数据库连接池 所用jar包。java web开发 dbcp数据库连接池 所用jar包。
DBCP连接池DBCP和C3P0配置,可以对数据源进行各种有效的控制