龙源期刊网 http://www.qikan.com.cn
浅谈数据库连接池原理及实现
作者:赵登峰 朱洪涛
来源:《中国科技纵横》2014年第22期
【摘 要】 本文探讨了数据库连接池的原理,并给出了一个在Tomcat 服务器上配置了数据库连接池的实例。
【关键词】 数据库连接池 Jsp Tomcat服务器
1 引言
在实际开发中,特别是在Web 应用中,如果JSP 使用JDBC 直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗系统内存又耗费时间的工作,而且如果频繁执行这些数据库操作,势必占用很多系统资源,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术[1]是解决这个问题最常用的方法。
2 数据库连接池实现原理
为了解决消耗系统资源问题,可以事先先创建一定数量的连接放入连接池中提供给用户使用,用户使用完后把连接返回连接池。
2.1 创建连接池
首先要创建一个静态的连接池。这里的“静态”是指池中的连接是在系统初始化时就分配好的,并且不随意关闭。Java 提供了很多容器类可用来构建连接池,例如Stack ,Vector 等。在系统初始化时,根据配置创建连接并放置在连接池中,以后所使用的连接都是从该连接池中获取的,这样就可以避免连接随意建立、关闭造成的系统浪费。
2.2 分配、释放策略
创建好连接池后,需要提供一套自定义的分配、释放策略以保证数据库连接的有效复用。当客户请求数据库连接时,首先看连接池中是否有空闲连接,如果存在空闲连接则把连接分配给客户,并作相应处理;若池中没有空闲连接,就在已经分配出去的连接中,寻找一个合适的连接给客户,此时该连接在多个客户间复用。当客户释放数据库连接时,可以根据该连接是否被复用,进行不同的处理。如果连接没有使用者,就再重新放入池中,而不是被关闭。
2.3 配置策略
龙源期刊网 http://www.qikan.com.cn
浅谈数据库连接池原理及实现
作者:赵登峰 朱洪涛
来源:《中国科技纵横》2014年第22期
【摘 要】 本文探讨了数据库连接池的原理,并给出了一个在Tomcat 服务器上配置了数据库连接池的实例。
【关键词】 数据库连接池 Jsp Tomcat服务器
1 引言
在实际开发中,特别是在Web 应用中,如果JSP 使用JDBC 直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗系统内存又耗费时间的工作,而且如果频繁执行这些数据库操作,势必占用很多系统资源,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术[1]是解决这个问题最常用的方法。
2 数据库连接池实现原理
为了解决消耗系统资源问题,可以事先先创建一定数量的连接放入连接池中提供给用户使用,用户使用完后把连接返回连接池。
2.1 创建连接池
首先要创建一个静态的连接池。这里的“静态”是指池中的连接是在系统初始化时就分配好的,并且不随意关闭。Java 提供了很多容器类可用来构建连接池,例如Stack ,Vector 等。在系统初始化时,根据配置创建连接并放置在连接池中,以后所使用的连接都是从该连接池中获取的,这样就可以避免连接随意建立、关闭造成的系统浪费。
2.2 分配、释放策略
创建好连接池后,需要提供一套自定义的分配、释放策略以保证数据库连接的有效复用。当客户请求数据库连接时,首先看连接池中是否有空闲连接,如果存在空闲连接则把连接分配给客户,并作相应处理;若池中没有空闲连接,就在已经分配出去的连接中,寻找一个合适的连接给客户,此时该连接在多个客户间复用。当客户释放数据库连接时,可以根据该连接是否被复用,进行不同的处理。如果连接没有使用者,就再重新放入池中,而不是被关闭。
2.3 配置策略