自分でデータベースの接続池を開発しました.みんなと共有します.
使用すると言ってください.ソースはみんなにあげます.
まず使用について説明します
mysql上限:7804、会議IO異常を超過しました.
oracle上限:300、会報を超えた場合、ランドマークの数が大きすぎます.
Sql Server上限:多ければ多いほどいいと思いますが、本当に韓信が用兵して、多ければ多いほどいいです.1000万円を設置しましたが、まだ間違いがないです.本当にもう待ちたくないです.
でも私はやはりoracleを使います.
異なるデータベース接続池を取得するには、次の列挙類の選択があります.
説明:使う時は必ず該当のデータベースjdbcjarパッケージを導入します.
まず使用について説明します
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パッケージを導入します.