Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
自己写的一个mysql的连接池.....用openSTA测试50人并发访问一万次,没有出现问题....很好用.

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

package webgame.db;

import java.sql.*;
import java.util.*;


public class DataBase{

  private static int maxConnectNum = 20;
  private java.sql.Connection conn[]=new Connection[maxConnectNum];
  private static ArrayList connectPool = new ArrayList();
  private static int flag = 0;


  public DataBase() {
    if(flag == 0){
      init();
    }
  }

  private Connection getConnectionFromDatabase(){
    Connection trueConn = null;
    try {
      //Class.forName("org.gjt.mm.mysql.Driver").newInstance();
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      String url ="jdbc:mysql://localhost:3306/webgame?user=root&password=&useUnicode=true&characterEncoding=GBK";
      trueConn= DriverManager.getConnection(url);
    }
    catch (Exception ex) {
      System.out.println("数据连接出错了:" + ex.toString());
    }
    return trueConn;
  }

  //这里建立所有的连接;
  private void init(){
    for(int i=0;i<maxConnectNum;i++){
      conn[i] = getConnectionFromDatabase();
      connectPool.add(i,conn[i]);
    }
    flag = 1;
  }

 


  //从连接池中取得一个可用的连接
  public Connection getConnection(){
    Connection conn = null;
    if(connectPool.size()==0){
      try {
        java.lang.Thread.sleep(1000);
        getConnection();
      }
      catch (InterruptedException ex) {
        System.out.println("连接全部用光,这里sleep出错了.");
      }
    }else{
      conn =  (Connection)connectPool.remove(0);
    }

    return conn;
  }

  //提供给外部程序调用,不用的连接放回连接池当中...
  public boolean release(Connection conn){
    return connectPool.add(conn);
  }


  public static void main(String[] args)
  {
  }
}




相关文章

相关软件