温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

减少JDBC连接池开销的方法有哪些

发布时间:2021-07-15 09:49:27 来源:亿速云 阅读:143 作者:chen 栏目:编程语言

本篇内容主要讲解“减少JDBC连接池开销的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“减少JDBC连接池开销的方法有哪些”吧!

在一个服务器的应用中,会处理来自多个不同用户的请求,并且必须为每一个用户保持并打开一个链接(防止事务的崩溃),由于创建一个Connection的尽管实现起来简单,但对于大流量的服务器应用来说却要花费大量的时间。

为了使JDBC连接池连接的时间尽可能的少

解决方法有以下几种:

一:为每个访问数据的servlet和jsp页面维护一个Connection,并保持在一个实例变量中,直到应用关闭,但这样会导致大量的多线程问题。另外对于数据库能保持的连接数代价时昂贵的,商业数据指定价格一部分时基于同时打开的连接数的。

二:***的做法就是使用一个JDBC连接池。其优点有以下几点:

1:创建连接的时间缩短,因为在池中链接时可以重用的。

2:解决了多线程的问题。

3:连接池可以指定Connection的***连接数,使得每一个链接得到***效的利用。

另外:由于所有的用户使用的时同样的Connection对象,因此不能依赖数据库引擎着个的限制用户对保护资源的访问,因此要为不同的用户角色组使用不同的连接池,为不同的数据帐户来创建不同的Connection对象。

在jdk文档中明确说明了:DataSource是一个接口,作为DriverManager工具的替代项,DataSource对象是获取连接的***方法。

实现此接口的类可以提供JDBC连接池功能。

PooledConnection类,该类为连接池管理提供钩子(hook)的对象。PooledConnection对象表示到数据源的物理连接,当应用程序调用DataSource.getConnection方法时,它取回Connection对象。如果连接池已完成,则该Connection对象实际上是到PooledConnection对象的句柄,这是一个物理连接。

需要注意的是当应用调用close()方法时,并不是关闭数据库链接,而是通知其链接在池中已不再使用,然后DataSource会将该PooledConnection返回至JDBC连接池。

基于JDBC的应用中几乎全是围绕Connection接口展开的,必须创建一个连接Connection,此连接相当于应用和数据库之间的一个通道,并且它还是事务的边界,只有通过同一个Connection执行的SQL语句才能组成一个事务。

在一个服务器的应用中,会处理来自多个不同用户的请求,并且必须为每一个用户保持并打开一个链接(防止事务的崩溃),由于创建一个Connection的尽管实现起来简单,但对于大流量的服务器应用来说却要花费大量的时间。

减少JDBC连接池开销的方法有哪些

到此,相信大家对“减少JDBC连接池开销的方法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI