JDBC数据库连接池技术简介及设计.doc
文本预览下载声明
JDBC数据库连接池技术简介及设计
摘要:该文介绍了Java访问数据库的原理及其存在的问题,提出了解决办法-数据库连接池,并对其关键问题进行了分析,构建了一个简便易用的连接池并结合当前热门技术Servlet说明了其如何在开发时使用。
关键词:JDBC;Web;数据库连接池
中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)08-1793-02
About JDBC Database Connection Pool Technology and Design
ZHANG Yin, DU Wei
(Anhui University of Traditional Chinese Medicine, Hefei 230031, China)
Abstract: This paper describes the principles of Java to access the database and existing problems, propose a solution-database connection pool, and an analysis of its key issues, building an easy-to-use connection pooling and the combination with the current hot technology, explained its Servlet How do I use in the development.
Key words: JDBC; Web; connection pool
随着Internet技术和数据库应用的快速发展进步,计算机应用程序已从传统的桌面单机应用转到Web在线应用。众多基于Web架构应用程序的开发技术中, Sun公司推出的基于Java语言的Servlet+Jsp+JavaBean技术架构是应用范围较大的一个,相对于传统的开发技术,具有高效、跨平台、安全、有效、可移植等特性,这使其更便于开发维护。
1 Java应用程序访问数据库的基本原理
在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通联系的桥梁,JDBC作为一种数据库访问技术,具有简单易用、接口灵活的优点。JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲,期望第三方应用服务器(Application Server)的提供。使用普通的JDBC开发模式技术进行Web应用程序开发会存在以下的问题:
1) 每次Web数据库服务请求都要重新建立一个新的数据库连接。这个操作过程对于一次或几次的Web服务请求来说也许感觉不到特别大的影响,可是对于企业级别的Web应用,同时有几百人甚至几千人在线进行服务请求是很普通的事。在这种情况下,频繁的进行数据库连接操作势必占用很多的系统资源,Web服务的响应速度和效率必定受到影响,严重的甚至会造成服务器的崩溃。
2) 对于每一个数据库连接,数据库服务请求完成后都需要进行连接关闭和释放。如果某个程序出现异常而未能进行正常关闭释放,将导致服务器中此连接占用的系统资源永远无法进行正常回收,从而存在很大的系统资源浪费,情况严重的导致系统资源耗尽从而无法对正常的服务请求提供应答,最终影响Web服务质量和效率。
3) 对于Web服务请求中的数据库连接和数据库操作控制和监控能力很弱,不能根据实际情况控制同时创建的数据库连接对象数、无法对数据库服务请求进行监控等。系统资源可能会被无限制的进行分配请求,从而影响对服务请求的应答时间和效率,严重的会导致服务器因无法承受过多的资源分配压力而崩溃,最终影响Web服务质量和效率。
2 数据库连接池(connection pool)的工作原理
由上面的问题分析可以看出,问题的根源在于对数据库连接资源的低效管理和放任政策导致数据库连接这个重要的资源完全暴露在应用系统管理之外。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。通过一次建立数据库连接后的共享使用实现数据库连接的高效运行,可以通过设定连接池最大连接数、最多并发连接数等来防止系统无限制的进行数据库连接和数据库服务请求。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量?p使用情况,为系统开发?p测试及性能调整提供依据。
3 连接池关键问题分析和解决方案
3.1 并发问题
为了使连接管理
显示全部