手机版
您的当前位置: 好论文网 > 知识百科 > [基于jsp的网上购物系统]基于JAVA的数据库连接池方案设计模式

[基于jsp的网上购物系统]基于JAVA的数据库连接池方案设计模式

来源:知识百科 时间:2019-05-21 点击: 推荐访问:java数据库连接池

【www.ho59.com--知识百科】

[摘要]本文针对应用系统中存在的大量并发数据库访问的情况,提出了一个数据库连接池方案,并且采用JDBC实现该方案,用于显示该方案可以显著提高数据库访问的效率,并经过多次试验,效果明显。
  [关键词]Java连接池JDBC设计
  中图分类号:TP18 文献标识码:A 文章编号:1009-8283(2009)04-
  
  1 绪论
  
  Java语言以其面向对象、安全性、平台无关性,以及多线程和分布式等特点,成为风靡全球的程序设计语言。基于Java的技术也赢得了越来越多的企业级用户。在面向企业的应用系统中。数据库访问技术是其核心技术之一。JDBC是SUN公司发布的Java领域访问数据库的规范。执行查询两个部分。本文以连接池设计模式为理论依据,提出了一个数据库连接池方案,其基于JDBC的实现可以达到:(1)每一个数据库连接得以高效、安全的复用,避免频繁的数据库连接建立、关闭的开销;(2)限制最大连接数量;(3)为恶意的连接建立超时参数等。
  
  2 连接池模式叙述与设计
  
  设计模式是近年来面向对象软件设计领域的研究热点之一。研究设计模式的目的在
  于,撇开具体应用环境中的细节,在比较高的抽象层次上应用已被证明是行之有效的一般方法,解决在软件设计中重复出现的同类问题。
  模式具有不同的粒度和抽象水平,但是它们之间存在共性,可以采用一个模板来控制对模式的描述。
  
  3 JAVA数据库连接池方案的实现方案中除了有上文连接池模式中成员:
  
  客户对象(Client)、连接池对象(Connection-Pool)、连接实例对象(connectlonObjeot)以外,还根据实现需要增加了数据库管理者对象(DBManager)和计时器对象(Timer)。
  
  4 两种方案试验对比与结论
  
  4.1 理论对比
  采用连接池和不采用连接池两种方案的
  (1)基于Java的应用程序(包括JavaApplet/Servlet和Application)是直接通过数据库管理器获取和释放数据库连接。这将影响Java应用程序的性能。这种影响是由数器进程创建和关闭那些连接对象而引起的。应用服务器一般需要花数秒的时间来建立数据库连接。而且是分别对每一个来自Java应用程序的请求进行连接建立和关闭。(2)基于Java的应用程序可以透明地共享资源池的多个连接对象。在此情况下,因为连接池预先在启动时创建连接对象,所以,在应用程序请求使用连接对象时,不会引起数据库资源管理器上的系统开销。
  
  4.2 试验设计
  使用同一个Java数据库应用程序,该程序的数据库访问模块有两种选择:1)有连接池方案;2)无连接池方案。每一方案中数据库系统又有三种选择1)基于SUN Solaris平台的Oracle数据库;2)Windows NT平台上的Oracle数据库;3)Windows NT平台上的MicrosoR Access数据。上述两种选择一共有六种组合,对每一组合模拟30个客户,客户每隔3秒钟访问数据库一次的情况。记录50次访问的数据,对其取平均值。
  
  
  4.3 试验结果和总绩
  从试验数据可以看出,是否采用连接池方案对于执行查询的时间影响不明显,两种方案所花的时间基本相当。这说明无论是否采用连接池,在数据库访问的两部分时间中,执行查询所需的时间,都是不可能显著降低的。
  而两部分时间中的另一部分――建立连接的时间,在采用连接池前后有显著差别。对于象Access这样的小型数据库(仅用在开发期间的测试中),其响应时间的差别特别明显。这说明了在Java数据库程序中。建立连接这部分时间还是值得斟酌的。即使因为Oracle专业级别的处理能力削弱了这种反差,但是3-4倍的时间差距,还是能够成为在大量并发访问的情况下选择连接池方案的理由。
  需要指出的是,上述的试验结果并非是在优化连接参数的情况下得到的。如果采用连接池方案的应用系统可以根据系统的硬件、软件资源,访问量等因素动态配置文件中的参数,例如连接池保持的最少连接数。每个连接在关闭前允许的最大使用次数等,则可以预期得到更佳的效果。

本文来源:http://www.ho59.com/zs/58678/

好论文网 www.ho59.com

Copyright © 2002-2018 . 好论文网 版权所有 京ICP备10015900号

Top