ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲午夜久久久久,久久电影tv,综合久久婷婷http://www.aygfsteel.com/chars/在对象的天地快ä¹çš„æˆé•?......zh-cnSat, 26 Jul 2025 01:30:22 GMTSat, 26 Jul 2025 01:30:22 GMT60- ˜qžæŽ¥æ± 的一¿U实现方å¼?/title><link>http://www.aygfsteel.com/chars/archive/2007/07/02/127644.html</link><dc:creator>chars</dc:creator><author>chars</author><pubDate>Mon, 02 Jul 2007 09:46:00 GMT</pubDate><guid>http://www.aygfsteel.com/chars/archive/2007/07/02/127644.html</guid><wfw:comment>http://www.aygfsteel.com/chars/comments/127644.html</wfw:comment><comments>http://www.aygfsteel.com/chars/archive/2007/07/02/127644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/chars/comments/commentRss/127644.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/chars/services/trackbacks/127644.html</trackback:ping><description><![CDATA[<blockquote dir=ltr style="MARGIN-RIGHT: 0px">
<p>package chars.pool;<br>import java.sql.Connection;<br>import java.sql.DatabaseMetaData;<br>import java.sql.Driver;<br>import java.sql.DriverManager;<br>import java.sql.SQLException;<br>import java.util.ArrayList;<br>import java.util.List;<br>import java.util.Properties;</p>
<p>import COM.ibm.db2.jdbc.app.DB2Driver;</p>
<p>/**<br> * JDK version used : jdk1.4.2_07 <br><br> * Description : 一个数æ®åº“˜qžæŽ¥æ± 的实现 <br><br> * Comments Name : CharsConnectionPool <br><br> * author åQšchars <br><br> * date åQ?007-06-11<br><br> * Version : 1.00 <br><br> */<br>public class CharsConnectionPool<br>{<br> //---------------˜qžæŽ¥æ•°æ®åº“所需è¦çš„å…ƒç´ ---------------<br> private String driver;</p>
<p> private String url;</p>
<p> private String userName;</p>
<p> private String password;</p>
<p> //----------------------------------------------<br> private List connections = null;//˜qžæŽ¥æ± 的容器</p>
<p> private int intiateCount = 10;// åˆå§‹åŒ–连接数</p>
<p> private int maxCount = 100;// ˜qžæŽ¥æ± å¯ä»¥äñ”生的最大连接数</p>
<p> private int rateCount = 10;// ˜qžæŽ¥ä¸å¤Ÿæ—¶ä¸€‹Æ¡å¯ä»¥ç”³è¯ïL(f¨¥ng)š„˜qžæŽ¥æ•?br> <br> public static int ACTIVE_ACOUNT = 0;//记录目å‰çš„æ´»åŠ¨è¿žæŽ¥æ•°</p>
<p> public String getDriver()<br> {<br> return driver;<br> }</p>
<p> public void setDriver(String driver)<br> {<br> this.driver = driver;<br> }</p>
<p> public int getIntiateCount()<br> {<br> return intiateCount;<br> }</p>
<p> public void setIntiateCount(int intiateCount)<br> {<br> this.intiateCount = intiateCount;<br> }</p>
<p> public int getMaxCount()<br> {<br> return maxCount;<br> }</p>
<p> public void setMaxCount(int maxCount)<br> {<br> this.maxCount = maxCount;<br> }</p>
<p> public String getPassword()<br> {<br> return password;<br> }</p>
<p> public void setPassword(String password)<br> {<br> this.password = password;<br> }</p>
<p> public int getRateCount()<br> {<br> return rateCount;<br> }</p>
<p> public void setRateCount(int rateCount)<br> {<br> this.rateCount = rateCount;<br> }</p>
<p> public String getUrl()<br> {<br> return url;<br> }</p>
<p> public void setUrl(String url)<br> {<br> this.url = url;<br> }</p>
<p> public String getUserName()<br> {<br> return userName;<br> }</p>
<p> public void setUserName(String userName)<br> {<br> this.userName = userName;<br> }<br> /**<br> * ˜qžæŽ¥æ± æž„é€ å‡½æ•?br> * @param driver<br> * @param url<br> * @param userName<br> * @param password<br> * @param connections<br> */<br> public CharsConnectionPool(String driver, String url, String userName, String password)<br> {<br> super();<br> this.driver = driver;<br> this.url = url;<br> this.userName = userName;<br> this.password = password;<br> }<br> <br> public CharsConnectionPool(Properties p)<br> {<br> super();<br> this.driver = p.getProperty("driver");<br> this.url = p.getProperty("url");<br> this.userName = p.getProperty("userName");<br> this.password = p.getProperty("password");<br> }</p>
<p> /**<br> * åˆå§‹åŒ–è¿žæŽ¥æ± <br> * <br> */<br> public void initiatePools()throws Exception<br> {<br> if (connections != null)return;//如果˜qžæŽ¥æ± å·²¾lå¾ç«‹åˆ™ä¸å†‹Æ¡è¿›è¡Œåˆå§‹åŒ–<br> <br> connections = new ArrayList();<br> initParamters();//æ ÒŽ(gu¨©)®æ•°æ®åº“支æŒçš„æœ€å¤§è¿žæŽ¥æ•°é…ç½®è¯¥è¿žæŽ¥æ± çš„ç›¸å…›_‚æ•?<br> for (int i = 0; i < intiateCount; i++){<br> connections.add(newCharsConnection());<br> }<br> }<br> /**<br> * 销æ¯è¿žæŽ¥æ± <br> * @throws Exception<br> */<br> public void destoryPools()throws Exception<br> {<br> if (connections == null) return ;<br> for(int i=0; i<connections.size();i++){<br> CharsPoolConnection conn = (CharsPoolConnection)connections.get(i);<br> <br> if(conn.isBusy()) Thread.sleep(5000);//如果该连接æ£åœ¨ä‹É用则å†ç»™5¿U’æ—¶é—?br> closeConnection(conn.getConnection());<br> connections.remove(conn);<br> }<br> connections = null;<br> }<br> /**<br> * ä»Žè¿žæŽ¥æ± èŽ·å–˜qžæŽ¥<br> *<br> */<br> public Connection getConnection()throws SQLException<br> {<br> Connection conn = null;<br> try{<br> <br> conn = getFreeConnection(); <br> if(conn == null) {<br> Thread.sleep(3000);//æš‚åœ3¿U’é’Ÿå†è¯•ç€èŽ·å–˜qžæŽ¥<br> conn = getFreeConnection();<br> } <br> if(conn == null) {//æ¤æ—¶å¦‚æžœ˜q˜ä¸èƒ½èŽ·å¾—è¿žæŽ¥åˆ™è¡¨ç¤º,˜qžæŽ¥æ± ä¸çš„连接已¾l用å®?br> throw new SQLException("˜qžæŽ¥æ± 连接连接ä‹É用枯ç«?è¯ïL(f¨¥ng)¨åŽå†è¯?!");<br> }<br> }catch(Exception e)<br> {<br> e.printStackTrace();<br> }<br> return conn;<br> }<br> /**<br> * 归还˜qžæŽ¥åˆ°è¿žæŽ¥æ± (当连接用完时)<br> * @param conn<br> */<br> public void rebackConnection(Connection conn)<br> {<br> for(int i = 0;i < connections.size();i++){<br> CharsPoolConnection charsCon = (CharsPoolConnection)connections.get(i);<br> if(charsCon.getConnection() == conn){<br> charsCon.setBusy(false);<br> conn = null;//外部引用为空.<br> ACTIVE_ACOUNT --;<br> break;<br> }<br> }<br> }<br> <br> // ---------------------------------------------------------------------------------------------------<br> /**<br> * åŠ è²é©±åЍ½E‹åº,é…置实际上å¯ä»¥ç”¨çš„æœ€å¤§è¿žæŽ¥æ•°<br> */<br> private void initParamters() throws Exception<br> {<br> int realMaxCount = -1;<br> Connection con = null;<br> try<br> {<br> Driver driver1 = new DB2Driver();<br> DriverManager.registerDriver(driver1); <br> con = DriverManager.getConnection(this.url, this.userName, this.password); <br> DatabaseMetaData dmd = con.getMetaData();<br> realMaxCount = dmd.getMaxConnections();<br> <br> if(realMaxCount == 0){//如果˜q”回的å€égØ“0,则表½Cºæœ€å¤§çš„˜qžæŽ¥æ•îC¸å—é™åˆ?br> realMaxCount = 1000;//那么默认赋一个较大的值给å®?br> }<br> }<br> finally{<br> if(con == null) con.close();<br> }<br> <br> if(realMaxCount < intiateCount) {//如果数æ®åº“å…许的最大活动连接数ž®äºŽåˆå§‹åŒ–çš„˜qžæŽ¥æ•?br> intiateCount = maxCount; //则实际上åˆå§‹åŒ–çš„˜qžæŽ¥æ•°åº”该ç‰äºŽæ•°æ®åº“å…许的最大活动连接数æ?br> maxCount = realMaxCount;<br> }<br> else if(intiateCount < realMaxCount && maxCount >= realMaxCount){//如果数æ®åº“最大的‹zÕdЍ˜qžæŽ¥æ•°å¤§äºŽåˆå§‹åŒ–˜qžæŽ¥æ•îC½†æ˜¯å°äºŽè¯¥˜qžæŽ¥æ± å…许的最大连接数<br> maxCount = realMaxCount; //åˆ™è¯¥æ± çš„æœ€å¤§è¿žæŽ¥æ•°½{‰äºŽæ•°æ®åº“å…许的最大活动连接数<br> }<br> }<br> /**<br> * 获å–å¯ä»¥ç”¨çš„˜qžæŽ¥,如果没有查找到则æ ÒŽ(gu¨©)®æ¡äšgåœ¨æ± ä¸åŠ å…¥æ–°çš„è¿žæŽ?br> * @return<br> * @throws SQLException<br> */<br> private Connection getFreeConnection()throws SQLException<br> {<br> Connection conn = null;<br> conn = findFreeConnection();//é¦–å…ˆåˆ°è¿žæŽ¥æ± ä¸æ‰¾½Iºé—²çš„连æŽ?br> if(conn == null){//如果没有扑ֈ°,则试ç€äº§ç”Ÿæ–°çš„˜qžæŽ¥æ”‘Ö…¥æ± ä¸<br> for(int i = 1; connections.size() < maxCount && i <= rateCount;i++){//是å¦å†èƒ½åœ¨è¿žæŽ¥æ± ä¸å¢žåŠ è¿žæŽ¥å–决与maxCount<br> connections.add(newCharsConnection());<br> }<br> conn = findFreeConnection();//冿¬¡åœ¨è¿žæŽ¥æ± 䏿‰¾<br> } <br> return conn;<br> }<br> /**<br> * åœ¨æ± ä¸æŸ¥æ‰‘֯以ä‹É用的˜qžæŽ¥<br> * @return<br> */<br> private Connection findFreeConnection()throws SQLException<br> {<br> CharsPoolConnection charsConn = null;<br> Connection conn = null;<br> for(int i = 0; i < connections.size();i++){<br> charsConn = (CharsPoolConnection)connections.get(i);<br> if(charsConn.isBusy())continue;<br> else {<br> if(!isAvalidConnection(charsConn.getConnection())) {<br> charsConn.setConnection(newConnection());<br> }<br> conn = charsConn.getConnection();//得到å¯ä»¥ç”¨çš„˜qžæŽ¥<br> charsConn.setBusy(true);//表明ä¸ÞZ‹É用状æ€?br> ACTIVE_ACOUNT++;<br> break;<br> }<br> }<br> return conn;<br> }<br> <br> /**<br> * åˆ¤æ–æ± ä¸çš„连接是å¦å› ä¸ºå…¶ä»–åŽŸå› å˜å¾—ä¸å¯ä»¥ç”?br> * @param conn<br> * @return<br> */<br> private boolean isAvalidConnection(Connection conn)<br> {<br> try<br> {<br> conn.setAutoCommit(true);//模拟动作,如果能够能够æ“作则说明该˜qžæŽ¥å¯ç”¨<br> }catch(SQLException e)<br> {<br> closeConnection(conn);<br> return false;<br> }<br> return true;<br> }<br> <br> /**<br> * 判æ–一个连接是å¦è¿˜å¯ä»¥ç”?如果ä¸å¯ä»¥ç”¨åˆ™åˆ›å»ÞZ¸€ä¸ªæ–°çš„连接代替它<br> * @param conn<br> * @return<br> */<br> private CharsPoolConnection newCharsConnection()throws SQLException<br> {<br> <br> CharsPoolConnection charsCon = new CharsPoolConnection();<br> charsCon.setConnection(newConnection());<br> charsCon.setBusy(false);<br> <br> return charsCon;<br> }<br> /**<br> * 获å–一个新的数æ®åº“˜qžæŽ¥<br> * @return<br> * @throws SQLException<br> */<br> private Connection newConnection()throws SQLException<br> {<br> return DriverManager.getConnection(this.url,this.userName,this.password);<br> }<br> /**<br> * 关闿•°æ®åº“连æŽ?br> * @param conn<br> */<br> private void closeConnection(Connection conn)<br> {<br> try<br> {<br> conn.close();<br> }catch(SQLException se)<br> {<br> System.out.println("关闘qžæŽ¥å‘生异常...");<br> }<br> }<br>}<br><br><br>ž®è£…˜qžæŽ¥æ± çš„˜qžæŽ¥:<br>package chars.pool;</p>
<p>public class CharsPoolConnection<br>{<br> private boolean isBusy;<br> <br> private java.sql.Connection connection;</p>
<p> public java.sql.Connection getConnection()<br> {<br> return connection;<br> }</p>
<p> public void setConnection(java.sql.Connection connection)<br> {<br> this.connection = connection;<br> }</p>
<p> public boolean isBusy()<br> {<br> return isBusy;<br> }</p>
<p> public void setBusy(boolean isBusy)<br> {<br> this.isBusy = isBusy;<br> }<br>}<br><br>调用的方å¼å¤§è‡´å¯ä»¥è¿™æ ?<br> CharsConnectionPool pool = new CharsConnectionPool(env);<br> pool.initiatePools();<br> Connection conn= pool.getConnection(); //获喘qžæŽ¥<br> //do something with your code;<br> pool .rebackConnection(conn); 归还˜qžæŽ¥åˆ°è¿žæŽ¥æ± </p>
</blockquote>
<img src ="http://www.aygfsteel.com/chars/aggbug/127644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/chars/" target="_blank">chars</a> 2007-07-02 17:46 <a href="http://www.aygfsteel.com/chars/archive/2007/07/02/127644.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item></channel></rss> <footer>
<div class="friendship-link">
<a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a>
</div>
</footer>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
<a href="http://" target="_blank">¹ȪÊÐ</a>|
<a href="http://" target="_blank">Ê©µéÏØ</a>|
<a href="http://" target="_blank">ÆåÅÆ</a>|
<a href="http://" target="_blank">ÎäÚìÏØ</a>|
<a href="http://" target="_blank">»ÔÄÏÏØ</a>|
<a href="http://" target="_blank">ÈôÇ¼ÏØ</a>|
<a href="http://" target="_blank">ãèÂÞÊÐ</a>|
<a href="http://" target="_blank">ÕÑÆ½ÏØ</a>|
<a href="http://" target="_blank">¹ãÎ÷</a>|
<a href="http://" target="_blank">·áÕòÊÐ</a>|
<a href="http://" target="_blank">ÄÏÁêÏØ</a>|
<a href="http://" target="_blank">ÂåÄþÏØ</a>|
<a href="http://" target="_blank">ÈÊ»¯ÏØ</a>|
<a href="http://" target="_blank">À¶ÌïÏØ</a>|
<a href="http://" target="_blank">ÒËÀ¼ÊÐ</a>|
<a href="http://" target="_blank">Ǩ°²ÊÐ</a>|
<a href="http://" target="_blank">¹þÃÜÊÐ</a>|
<a href="http://" target="_blank">Àײ¨ÏØ</a>|
<a href="http://" target="_blank">ÓÀ¸£ÏØ</a>|
<a href="http://" target="_blank">¾²°²Çø</a>|
<a href="http://" target="_blank">²Æ¾</a>|
<a href="http://" target="_blank">ÏÌ·áÏØ</a>|
<a href="http://" target="_blank">ÁúÑÒÊÐ</a>|
<a href="http://" target="_blank">Ä«Öñ¹¤¿¨ÏØ</a>|
<a href="http://" target="_blank">¸»ÑôÊÐ</a>|
<a href="http://" target="_blank">äü¹ØÏØ</a>|
<a href="http://" target="_blank">¶¼²ýÏØ</a>|
<a href="http://" target="_blank">»áÄþÏØ</a>|
<a href="http://" target="_blank">ÑÎÍ¤ÏØ</a>|
<a href="http://" target="_blank">Ìì½òÊÐ</a>|
<a href="http://" target="_blank">¼ÃÔ´ÊÐ</a>|
<a href="http://" target="_blank">²ßÀÕÏØ</a>|
<a href="http://" target="_blank">¶î¼ÃÄÉÆì</a>|
<a href="http://" target="_blank">µ¤½¿ÚÊÐ</a>|
<a href="http://" target="_blank">²©°×ÏØ</a>|
<a href="http://" target="_blank">ÄÉÓºÏØ</a>|
<a href="http://" target="_blank">ƽÄÏÏØ</a>|
<a href="http://" target="_blank">Á¬Æ½ÏØ</a>|
<a href="http://" target="_blank">µÂ²ýÏØ</a>|
<a href="http://" target="_blank">÷ÖÝÊÐ</a>|
<a href="http://" target="_blank">ºþ±±Ê¡</a>|
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
</body>