DBConnectionManage.config: 配置文件,配置兩個節(jié)點,一個是組件監(jiān)視連接的最大數(shù)量一個是系統(tǒng)控制連接的有效時間
MConnectionWrap:這個是被監(jiān)視對象的封裝類,包括連接、過期時間、開啟連接的業(yè)務(wù)類的監(jiān)視器(GCHandle)
DBConnectionMonitor:連接監(jiān)視主類,提供添加監(jiān)視對象到一個字典里,后臺線程循環(huán)遍歷字典去處理被監(jiān)視的對象
TestConnectionMonitor:這個項目是測試示例以及如何使用連接監(jiān)視器的示例代碼
總體思路:在我們的業(yè)務(wù)類往往有開啟連接的操作,在開啟連接后同時把連接加入到監(jiān)視器里,然后監(jiān)視器會根據(jù)連接所在業(yè)務(wù)類的狀態(tài)和設(shè)置的連
接有效期來進行處理(關(guān)閉連接,移除被監(jiān)視對象)
二,效果圖