教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 连结池详解

连结池详解

发布时间:2019-10-07   编辑:jiaochengji.com
教程集为您提供连结池详解等资源,欢迎您收藏本站,我们将为您提供最新的连结池详解资源
到目前为目,JDBC2的连结池只是一个接口,没有真正的实现,JDBC3正在开发中,
据报已经支持连结池,但..........
JDBC3用了JNDI技术,连结池的配置可以让一个高手都烦死.
目前第三方已经实现的连结池当然是poolman,1.0版对一般用户来说已经足够用了.配置也简单,2.0版虽然增加了一些功能,但配置也是采用JNDI,对RMI和EJB不懂的朋友可能很烦.建议用1.0的了.
如果有兴趣,自己也可以实现连结池,最关键的技术也就是把连结作为参数传给一个BEAN,用完后返回这个参数连结而不是关闭.
下面是一个简单的实现:
DBConnectionManager.java程序清单如下:

001 import java.io.*;
002 import java.sql.*;
003 import java.util.*;
004 import java.util.Date;
005
006 /**
007 * 管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接
008 * 池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例.
009 */
010 public class DBConnectionManager {
011 static private DBConnectionManager instance; // 唯一实例
012 static private int clients;
013
014 private Vector drivers = new Vector();
015 private PrintWriter log;
016 private Hashtable pools = new Hashtable();
017
018 /**
019 * 返回唯一实例.如果是第一次调用此方法,则创建实例
020 *
021 * @return DBConnectionManager 唯一实例
022 */
023 static synchronized public DBConnectionManager getInstance() {
024 if (instance == null) {
025 instance = new DBConnectionManager();
026 }
027 clients ;
028 return instance;
029 }
030
031 /**
032 * 建构函数私有以防止其它对象创建本类实例
033 */
034 private DBConnectionManager() {
035 init();
036 }
037
038 /**
039 * 将连接对象返回给由名字指定的连接池
040 *
041 * @param name 在属性文件中定义的连接池名字
042 * @param con 连接对象
043 */
044 public void freeConnection(String name, Connection con) {

您可能感兴趣的文章:
连结池详解
用连接池提高Servlet访问数据库的效率
mysql driver的bug的深入分析
golang append性能_Golang百万级高并发实践
笔记本电脑不能充电怎么办?电池不能充电
联想笔记本电池使用技巧 笔记本电脑电池使用注意事项
jdbc连接oracle数据库方法
ASP.NET对路径xxxxx的访问被拒绝的解决方法
Python如何使用数据库的连接池
Java String#intern() 内存模型详解教程

[关闭]
~ ~