Java中连接池

最近在看书,其中有一段是:

 简言之,连接池是将已经创建好的连接保存在池中,当检测到有请求时,直接使用创建好的连接对数据库进行访问,这样可以节省创建连接和销毁连接所带来的的时间成本。

在数据库连接池中,涉及到三个主要的参数:

– 最大维持连接数:没有任何请求时在连接池中可以存在的连接数

– 最大连接数:连接池中最多可以存在的连接个数。

– 最大等待时间:当断开连接时,超过最大维持连接数的连接不会马上销毁,最大等待时间过后它才会销毁。

参数使用的场景实例如下:

至此,数据库连接池是什么以及在什么时候发挥作用基本很清楚了。现在来讨论下他怎么被配置。

在应用的META-INF文件夹下创建一个context.xml配置文件,并在其中添加<Context>标签进行配置,但,这种方式生成的数据源只能用于当前应用。

在tomcat启动时,会逐个加载其中的应用,当其加载到当前应用时,会加载到 META-INF文件夹下的 context.xml 配置文件,此时tomcat会根据其中的配置信息为当前应用创建一个数据库连接池,该数据库连接池只能用于当前应用,tomcat下的其他应用无法使用该数据库连接池。

附加:虽然数据库连接池可以帮助我们节省大量的时间成本,但在开发中,使用连接池时若没有关闭连接(调用连接的close方法)会出现“连接池疲劳的错误”。

扩展阅读

– Java 中几种主流的数据库连接池

– 三种数据库连接池的配置及使用(For JDBC)

– TomCat 源码分析-线程池应用

– 详解TomCat的连接数与线程池

– 连接池含义、作用和工作过程(四个流行的Java连接池)

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月7日
下一篇 2019年6月7日

相关推荐