返回首页您现在的位置: 主页 > 老奇人六肖王 > 文章内容

论文选登:使用JNDI获取数据库连接池

作者: admin 来源: 未知 时间: 2019-12-01 阅读:

  摘要:本文探讨了使用JNDI获取数据库连接池的技术。通过具体代码完成了使用JNDI获取数据库连接池的操作。

  JDBC连接数据库的方式是一种比较传统的连接方式,这种连接方式在执行过程中,需要经常与数据库建立连接,并且在使用后再关闭连接,释放资源。可想而知,频繁的连接和释放操作必然要耗费很多系统资源,而且容易引发异常,因而需要有一种新的技术来弥补它的不足,这就是连接池(Connection Pool)技术。

  数据库连接是非常占用系统资源的,这一点在多用户访问的应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性健壮性。数据库连接池正是针对这个问题提出来的。

  数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不再是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接,以避免由于没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显地提高对数据库操作的性能。

  数据库连接池在初始化时将创建一定数量的数据库连接并放在连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将确保至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入等待队列中。

  数据库连接池提前准备好连接对象,提高了访问效率,控制连接数量,防止同时过多用户访问导致性能大大降低,数据库崩溃等问题。

  对于连接的管理可使用空闲池,即把已经创建但尚末分配出去的连接存放到一个空闲池中;每当用户请求一个连接时,系统首先检查空闲池内有没有空闲连接。如果有就分配一个连接给用户服务;如果没有则检查当前连接池是否达到连接池所允许的最大连接数。如果没有达到,就新建立一个连接。如果已经达到,就等待一定的时间。如果在等待的时间内有连接被释放出来,就可以把这个连接分配给等待的用户。如果等待时间超过预定时间,则返回空值(null)。系统对已经分配出去正在使用的连接只做计数,当使用完后再返还给空闲池。

  数据源在JDBC扩展包中定义了javax.sql.DataSourdce接口,它负责建立与数据库的连接,在应用程序中访问数据库时不必编写连接数据库的代码,可以直接从数据源获得数据库连接。DataSource对象是由Web容器(Tomcat)提供的,因此不能在程序中采用创建一个实例的方式生成DataSource对象,本论文采用JNDI来实现。JNDI的全称是Java Naming and Directory Interface(JAVA命名与目录接口),是一种将对象和名字绑定的技术。使用JNDI,应用程序可以通过资源名字来获得相应的对象、服务或目录。具体程序略。

  在Tomcat中配置好数据源后,Tomcat会将这个数据源绑定到JNDI名称空间,然后通过Context的lookup()方法来查找到这个数据源,找到数据源之后,使用getConnection()方法创建一个数据库连接,之后就可以像使用JDBC直接连接数据库那样操作数据库了。在测试页面中建立500个连接并且关闭,然后计算耗时的时间。从运行结果分析,使用数据库连接池的方式可以提高访问数据库的效率。需要注意的是,数据库访问完毕后要注意释放资源,这里的关闭是将数据库连接返回连接池。(作者简介:王春明,女, 工学硕士,副教授,黑龙江工商学院,通天报e963开奖记录,研究方向软件工程)

上一篇:求助求一个jsp做的购物网站源代码 下一篇:没有了

相关阅读

小鱼儿论坛香港| 神算子香港挂牌管家婆| 十二生肖六合图表| 香港六和彩阿飞图库| 香港米兰站网址| 二四六财神玄机图免费| 今期清高跑狗玄机图| 金太阳心水论坛图库| 香港管家婆开奖结果| 摇钱网站|