自分でデータベースの接続池を開発しました.みんなと共有します.


使用すると言ってください.ソースはみんなにあげます.
まず使用について説明します

package org.liufei.test;

import org.liufei.common.DBCP;
import org.liufei.dbcp.connectionFactory.ConnectionFactory;
import org.liufei.dbcp.connectionFactory.DbcpConnection;


public class Test {
	public static void main(String[] args) {
		DbcpConnection test = ConnectionFactory.getDbcpConnection(DBCP.MICROSOFT);
		try {
			for(int i = 0 ;i < 20000000; i++){
				System.out.println(test.getConnection());
			}
			test.destroy() ;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

限界テスト:
mysql上限:7804、会議IO異常を超過しました.
oracle上限:300、会報を超えた場合、ランドマークの数が大きすぎます.
Sql Server上限:多ければ多いほどいいと思いますが、本当に韓信が用兵して、多ければ多いほどいいです.1000万円を設置しましたが、まだ間違いがないです.本当にもう待ちたくないです.
でも私はやはりoracleを使います.
異なるデータベース接続池を取得するには、次の列挙類の選択があります.

package org.liufei.common;
/**
 *              
 * @author   
 *
 */
public enum DBCP {
	MICROSOFT, MYSQL, ORACLE ;
}
接続プールインターフェース:

package org.liufei.dao;

import java.io.Serializable;
import java.sql.Connection;


public interface PoolManager extends Serializable {
	
	/**
	 * connection         
	 * @return
	 * @throws Exception
	 */
	public boolean initialize() throws Exception ;
	
	/**
	 * connection        
	 * @throws Exception
	 */
	public void destroy() throws Exception ;
	
	/**
	 *         connection     
	 * @return
	 * @throws Exception
	 */
	public Connection getConnection() throws Exception ;
	
	/**
	 *    connection              
	 * @throws Exception
	 */
	public void removeFromPool() throws Exception ;
	
	/**
	 *   connection        
	 * @throws Exception
	 */
	public void fillPool() throws Exception ;
	
	/**
	 *            (connection)      。
	 * @param connection
	 * @throws Exception
	 */
	public void close(Connection connection) throws Exception ;
	
	/**
	 *      
	 * @throws Exception
	 */
	public void timerEvent() throws Exception ;
}
接続池管理インターフェース:

package org.liufei.dbcp.connectionFactory;

import java.io.Serializable;
import java.sql.Connection;

/**
 *        
 * @author   
 *
 */
public interface DbcpConnection extends Serializable {

	/**
	 *            (connection)      。
	 * @param connection
	 * @throws Exception
	 */
	public void close(Connection connection) throws Exception ;
	
	/**
	 * connection        
	 * @throws Exception
	 */
	public void destroy() throws Exception ;
	
	/**
	 *         connection     
	 * @return
	 * @throws Exception
	 */
	public Connection getConnection() throws Exception ;
	
	/**
	 *                ,          ,
	 *                   ,            
	 */
	public void getConfFiles() ;
	
}
接続池管理インターフェース工場:

package org.liufei.dbcp.connectionFactory;

import java.io.Serializable;

import org.liufei.common.DBCP;

public class ConnectionFactory implements Serializable{
	private static final long serialVersionUID = 102400L;

	private ConnectionFactory() {
		super();
	}

	/**
	 *             
	 * @return DbcpConnection
	 */
	public static DbcpConnection getDbcpConnection(DBCP dbcpparam){
		return new DbcpConnectionImpl(dbcpparam) ;
	}
}

コードは以下の通りです.
説明:使う時は必ず該当のデータベースjdbcjarパッケージを導入します.