数据库连接池的基本原理

数据库连接池的基本原理

ID:41109978

大小:30.00 KB

页数:4页

时间:2019-08-16

数据库连接池的基本原理_第1页
数据库连接池的基本原理_第2页
数据库连接池的基本原理_第3页
数据库连接池的基本原理_第4页
资源描述:

《数据库连接池的基本原理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据库连接池的基本原理数据库连接池的基本原理传统的数据库连接方式(指通过DriverManager和基本实现DataSource进行连接)中,一个数据库连接对象均对应一个物理数据库连接,数据库连接的建立以及关闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中这种耗费资源的动作对系统的性能影响尤为明显。在多层结构的应用程序中通过连接池(connectionpooling)技术可以使系统的性能明显得到提到,连接池意味着当应用程序需要调用一个数据库连接的时,数据库相关的接口通过返回一个通过重用数据库连接来代替重新创建一个数据库连接。

2、通过这种方式,应用程序可以减少对数据库连接操作,尤其在多层环境中多个客户端可以通过共享少量的物理数据库连接来满足系统需求。通过连接池技术Java应用程序不仅可以提高系统性能同时也为系统提高了可测量性。数据库连接池是运行在后台的而且应用程序的编码没有任何的影响。此中状况存在的前提是应用程序必须通过DataSource对象(一个实现javax.sql.DataSource接口的实例)的方式代替原有通过DriverManager类来获得数据库连接的方式。一个实现javax.sql.DataSource接口的类可以支持也可以不支持数据库连接池,

3、但是两者获得数据库连接的代码基本是相同的。代码如下:一个DataSource对象通常注册在JNDI命名服务上,应用程序可以通过标准的方式获得到注册在JNDI服务上的DataSource对象。Contextctx=newInitialContext();DataSourceds=(DataSource)ctx.lookup("jdbc/openbase");如果当前DataSource不支持数据库连接池,应用程序将获得一个和物理数据库连接对应的Connection对象。而如果当前的DataSource对象支持数据库连接池,应用程序自动获得

4、重用的数据库连接而不用创建新的数据库连接。重用的数据库连接和新建立连接的数据库连接使用上没有任何不同。应用程序可以通过重用的连接正常的访问数据库,进行访问数据的操作,完成操作后应显式的调用close()关闭数据库连接。Connectioncon=ds.getConnection("User","Pwd");相关数据库的操作;con.close();当关闭数据连接后,当前使用的数据库连接将不会被物理关闭,而是放回到数据库连接池中进行重用。JDBC3.0规范中数据库连接池框架JDBC3.0规范中通过提供了一个支持数据库连接池的框架,这个框架

5、仅仅规定了如何支持连接池的实现,而连接池的具体实现JDBC3.0规范并没有做相关的规定。通过这个框架可以让不同角色的开发人员共同实现数据库连接池。通过JDBC3.0规范可以知道具体数据库连接池的实现可以分为JDBCDriver级和ApplicationServer级。在JDBCDriver级的实现中任何相关的工作均由特定数据库厂商的JDBCDrvier的开发人员来具体实现,即JDBCDriver既需要提供对数据库连接池的支持同时也必须对数据库连接池进行具体实现。而在ApplicationServer级中数据库连接池的实现中特定数据库厂商

6、的JDBCDriver开发人员和ApplicationServer开发人员来共同实现数据库连接池的实现(但是现在大多数ApplicationServer厂商实现的连接池的机制和规范中提到有差异),其中特定数据库厂商的JDBCDriver提供数据库连接池的支持而特定的ApplicationServer厂商提供数据库连接池的具体实现。JDBC3.0规范规定了如下的类和接口来支持数据库连接池的实现。javax.sql.ConnectionEventjavax.sql.ConnectionPoolDataSourcejavax.sql.Pool

7、edConnectionjavax.sql.ConnectionEventListener其中除javax.sql.ConnectionEvent是类,其它的均为接口。通过此图可以大概的了解相关接口在一个典型的三层环境中应用程序的位置。数据库连接池实现层次中,由特定数据库厂商的JDBCDriver开发人员提供连接池支持,而特定ApplicationServer提供连接池实现的情况比较复杂,其它的实现层次均可视为其简化情况的一种。下面将针对这种情况进行说明。2007-2-722:45回复124.64.146.*2楼在这个框架主要有两个用户

8、角色存在,它们分别是:特定数据库厂商的JDBCDriver开发人员,之后将简称为DriverVendor特定ApplicationServer中连接池开发人员,之后将简称为PoolingVendor下面对几

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。