国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JDBMonitor基本原理探究

2019-11-18 12:37:50
字體:
來源:轉載
供稿:網友

    JDBMonitor(可以從www.cownew.com下載)是一個非常強大的數據庫監控、日志工具,它的無侵入性是它最大的特點。所謂無侵入性指的是無需編寫代碼就可以為系統增加數據日監控、日志功能。那么它到底是怎么實現的呢?咱們來探索一下它的基本原理。

    要明白JDBMonitor的工作原理,必須首先弄明白JDBC驅動的工作原理:所有的JDBC驅動都實現java.sql.Driver接口,此接口有兩個重要方法:Connection connect(String url, java.util.PRoperties info),boolean acceptsURL(String url)。

    JDBC中有個DriverManager類,它有一個重要方法,registerDriver(java.sql.Driver driver)

    所有的JDBC驅動都要調用此方法,這樣才能將注冊到驅動治理器中。

    當用戶調用DriverManager.getConnection("jdbc:……")的時候,DriverManager就把用戶穿過來的連接字符串“jdbc:……”發給每個注冊的驅動Driver的acceptsURL方法做為參數,驅動Driver就調用這個Driver的connect方法然后將方法的返回值直接做為自己的返回值。

    更具體的解釋請查看JDBC的JavaDoc,或者參考如下文章:http://www.cntopedu.cn/cntopedu_Html_itxuetang/200562963708.asp

    JDBMonitor寫了自己的JDBCDriver:DBDriver,這個DBDriver識別所有以listenerconfig=開頭的jdbc連接字符串,這樣假如您修改了您系統的JDBC連接字符串并添加listenerconfig=等部分以后,此url就不會被您原來的JDBC驅動熟悉,耳反而被DBDriver熟悉,這樣每次的數據庫連接調用也都通過DBDriver以及相關的類來進行(比如DBPreparedStatement等),這些類首先先把通過的數據庫調用記錄下來,然后再轉發給真正的數據庫驅動,這樣就達到了攔截任何JDBC調用的目的。更相信內容,請參考com.cownew.JDBMonitor.jdbc包下的DBDriver、DBConnection、DBStatement、DBPreparedStatement等類。這些類采用了代理模式、裝飾者模式等設計模式,使得程序的可擴展性得到很大的提升。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尼玛县| 米易县| 修武县| 崇阳县| 梧州市| 紫金县| 娄烦县| 钟山县| 容城县| 黎城县| 道真| 青岛市| 嘉善县| 合肥市| 盐城市| 鸡泽县| 化隆| 客服| 巴中市| 鸡泽县| 龙川县| 铁力市| 吉首市| 泰州市| 鄂州市| 长顺县| 斗六市| 朝阳区| 宁明县| 溧水县| 调兵山市| 西乌| 八宿县| 江都市| 广河县| 获嘉县| 六盘水市| 前郭尔| 孟连| 于都县| 马山县|