JavaÊý¾Ý¿âÁ¬½Ó³Ø
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Enumeration;
import java.util.Vector;
/*ËäÈ»ÏÖÔÚÓÃAPACHE COMMONS DBCP¿ÉÒԷdz£·½±ãµÄ½¨Á¢Êý¾Ý¿âÁ¬½Ó³Ø£¬
µ«ÊÇÏñÕâÆªÎÄÕ°ÑÊý¾Ý¿âÁ¬½Ó³ØµÄÄÚ²¿ÔÀíдµÄÕâô͸³¹£¬×¢ÊÓÕâôÍêÕû£¬
ÕæÊǷdz£Äѵã¬Èÿª·¢ÈËÔ±¿ÉÒÔ¸üÉî²ã´ÎµÄÀí½âÊý¾Ý¿âÁ¬½Ó³Ø£¬ÕæÊǷdz£¸Ð
лÕâÆªÎÄÕµÄ×÷Õß¡£*/
public class ConnectionPool {
private String jdbcDriver = ""; // Êý¾Ý¿âÇý¶¯
private String dbUrl = ""; // Êý¾Ý URL
private String dbUsername = ""; // Êý¾Ý¿âÓû§Ãû
private String dbPassword = ""; // Êý¾Ý¿âÓû§ÃÜÂë
private String testTable = ""; // ²âÊÔÁ¬½ÓÊÇ·ñ¿ÉÓõIJâÊÔ±íÃû£¬Ä¬ÈÏûÓвâÊÔ±í
private int initialConnections = 10; // Á¬½Ó³ØµÄ³õʼ´óС
private int incrementalConnections = 5;// Á¬½Ó³Ø×Ô¶¯Ôö¼ÓµÄ´óС
private int maxConnections = 50; // Á¬½Ó³Ø×î´óµÄ´óС
private Vector connections = null; // ´æ·ÅÁ¬½Ó³ØÖÐÊý¾Ý¿âÁ¬½ÓµÄÏòÁ¿ , ³õʼʱΪ null
// ËüÖдæ·ÅµÄ¶ÔÏóΪ PooledConnection ÐÍ
/**
* ¹¹Ô캯Êý
*
* @param jdbcDriver String JDBC Çý¶¯Àà´®
* @param dbUrl String Êý¾Ý¿â URL
* @param dbUsername String Á¬½ÓÊý¾Ý¿âÓû§Ãû
* @param dbPassword String Á¬½ÓÊý¾Ý¿âÓû§µÄÃÜÂë
*
*/
public ConnectionPool(String jdbcDriver, String dbUrl, String dbUsername,
String dbPassword) {
this.jdbcDriver = jdbcDriver;
this.dbUrl = dbUrl;
this.dbUsername = dbUsername;
this.dbPassword = dbPassword;
try {
createPool();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* ·µ»ØÁ¬½Ó³ØµÄ³õʼ´óС
*
* @return ³õʼÁ¬½Ó³ØÖпɻñµÃµÄÁ¬½ÓÊýÁ¿
*/
public int getInitialConnections() {
return this.initialConnections;
}
/**
* ÉèÖÃÁ¬½Ó³ØµÄ³õʼ´óС
*
* @param ÓÃÓÚÉèÖóõʼÁ¬½Ó³ØÖÐÁ¬½ÓµÄÊýÁ¿
*/
public void setInitialConnections(int initialConnections) {
this.initialConnections = initialConnections;
}
/**
* ·µ»ØÁ¬½Ó³Ø×Ô¶¯Ôö¼ÓµÄ´óС
Ïà¹ØÎĵµ£º
Ä¿±ê£ºÊµÏÖÒ»¸öºº×Ö×Ö·û´®°´ººÓïÆ´Òô×Öµä˳ÐòÅÅÐò¡£
ÔÀí£ºÔÚwindows»·¾³µÄgbk×Ö·û¼¯Àºº×ÖÊǰ´ººÓïÆ´Òô×Öµä˳Ðò±àÂëµÄ£¬Èç“´¡”ÊÇB4A1£¬“´¢”ÊÇB4A2¡£ÕâÀïÓиöÎÊÌâ¾ÍÏñÉÏÃæµÄ´¢ºÍ´¡ÕâÑùµÄͬÒô×ÖÖ»ÄÜ×ñÕÕ±àÂëµÄ˳ÐòÁË£¬ÁíÍâ¶àÒô×ÖÒ²µÃ×ñÕÕ±àÂë˳Ðò¡£Éè¼ÆË¼Â·ÊÇÏȲð·Öºº×Ö×Ö·û´®Îª×Ö·ûÊý×飬»ñµÃÿ ......
˼·£ºÉú³ÉÒ»¸öËæ»úÊý----ת»»³É16½øÖÆ»òÆäËûÂëÖµ------ת»»³Éºº×Ö×Ö·û---ÏÔʾ
Éú³ÉÒ»¸öËæ»úÊý£¬ ÔÚ0x5000µ½0x9000Ö®¼äµÄ¶¼ÊǺº×Ö
ÎÒÖ»½²ÔÀí£¬µ«¾ßÌåµ½ÄãʹÓÃʲô±à³Ì¹¤¾ßÊÇÄã×Ô¼ºµÄÎÊÌâ¡£
Èκαà³Ì¿ª·¢¹¤¾ß¶¼ÓÐËæ»úÊýÕâ¸ö¸ÅÄ¶øÎÒÃǵÄÇøÎ»ÂëÕýºÃÊÇÓÉËÄλÊý×Ö×é³ÉµÄ£¬ÇøÎ»ÊäÈë·¨¿ÉÒÔÊäÈëGB2312-80µÄÈ«²¿ºº×Ö£¬ ......
/**
* »ñµÃµ±Ç°Ê±¼äһСʱǰµÄʱ¼ä£¬¸ñʽ»¯³Éyyyy-MM-dd HH:mm:ss:SS<br>
*
* @return µ±Ç°Ê±¼äһСʱǰµÄʱ¼ä
*/
public String getOneHours ......
ÔÚ·Ö²¼Ê½·þÎñ¿ò¼ÜÖУ¬Ò»¸ö×î»ù´¡µÄÎÊÌâ¾ÍÊÇÔ¶³Ì·þÎñÊÇÔõôͨѶµÄ£¬ÔÚJavaµ×²ãÁìÓòÖÐÓкܶà¿ÉʵÏÖÔ¶³ÌͨѶµÄ¼¼Êõ£¬ÀýÈ磺RMI¡¢MINA¡¢ESB¡¢Burlap¡¢SOAP¡¢EJBºÍJMS µÈ£¬ÔÚj2eeÖÐ,¶Ôjavaµ×²ãÔ¶³ÌͨѶµÄ¼¼Êõ½øÐÐÁË·â×°,ÐγÉÁË Hessian ¡¢ HttpInvoker ¡¢ XFire ¡¢ Axis µÈ¶àÖÖÐÎʽµÄÔ¶³Ìµ÷Óü¼Êõ¡£ µ«¶Ô¸ß¼¶³ÌÐòÔ±¶øÑÔÈÔÐ ......
½ñÌìÔÚÍøÉÏ¿´µ½¹ØÓÚ¶ÔJAVAÄÚ´æµÄ½âÊÍ£¬¾õµÃдµÄ±È½ÏºÃ±ãÕª³ÏÂÀ´¡£
ÔÚJavaÖУ¬ÄÚ´æÐ¹Â©¾ÍÊÇ´æÔÚһЩ±»·ÖÅäµÄ¶ÔÏó£¬ÕâЩ¶ÔÏóÓÐÏÂÃæÁ½¸öÌØµã£¬Ê×ÏÈ£¬ÕâЩ¶ÔÏóÊǿɴïµÄ£¬¼´ÔÚÓÐÏòͼÖУ¬´æÔÚͨ
·¿ÉÒÔÓëÆäÏàÁ¬£»Æä´Î£¬ÕâЩ¶ÔÏóÊÇÎÞÓõ쬼´³ÌÐòÒÔºó²»»áÔÙʹÓÃÕâЩ¶ÔÏó¡£Èç¹û¶ÔÏóÂú×ãÕâÁ½¸öÌõ ......