Java Proxool 原始碼分析

來源:互聯網
上載者:User

進入點:ProxoolFacade. 

 

啟動順序:

ProxoolDriver ->  ProxoolFacade.registerConnectionPool ->

 

調用順序

ProxoolDriver.connect ->  ConnectionPoolManager.getConnectionPool -> connectionPool.getConnection

-> ProxyConnection  = prototyper.buildConnection -> proxyConnection.open();

->  ProxyFactory.getWrappedConnection(proxyConnection)

-> WrappedConnection

 

之後的調用都使用了proxy模式

 

關閉連結:

WrappedConnection -> close -> proxyConnection.close() 

->  openStatements.close -> connectionPool.removeProxy

 

真正關閉連結:

HouseKeeper ->  connectionPool.removeProxyConnection ->   CompositeConnectionListener.onDeath ->

ConnectionListenerIF.onDeath

 proxyConnection.reallyClose(); 

proxyConnections.remove(proxyConnection); 

 

----------------------------------

串連池設計原則:

1. 當沒有請求的時候,串連池=0

2. 當有穩定的請求的時候,通過複用connection提高效能。

3. 當突然爆發連結的時候,增加串連池能力

4. 當高峰期過後,能夠自動減少串連池能力。

 

5. 當connection開啟了事務之後,這個連結被獨佔了,無法被分配。

http://www.zhujiangroad.com/html/soft/s2928.html 

基於JDBC的資料庫連接池技術研究與設計 

。 串連添加一個引用計數器

。當使用者closeconnection 的時候,判斷引用次數》規定?是就刪除;判斷是否》最小串連數?小於就放回;否則刪除。

。每個事務獨佔一個connection 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.