2010-01-15 30 views
2

如何枚舉/計數所有打開的JDBC連接?我見過this thread,這不能回答我的問題。枚舉Open JDBC連接?

我的興趣在於編寫測試代碼,其中被測試的對象(稱爲ConnectionUser)維護自己的連接。在我的測試中,我想做一些事情,比如驗證實例化ConnectionUser沒有打開連接,並且調用ConnectionUser.open會導致一個打開的連接。我不想在生產代碼本身中枚舉/計數連接或實現連接池。

我曾經想過使用類似jmockit的東西來驗證靜態DriverManager.getConnection方法的調用,但寧願不太抽象的東西 - 即驅動程序只給我一個所有打開連接的列表。

回答

2

如何枚舉/計數所有打開的JDBC連接?

如果你沒有使用圍繞DriverManager的包裝類,那麼你不能。

我曾考慮過使用類似jmockit的東西來驗證靜態DriverManager.getConnection方法的調用,但寧願不太抽象的東西 - 即讓驅動程序給我一個所有打開的連接列表。

也許......但司機不會給你這些信息。實際上,如果你想單獨測試你的代碼,那麼使用mock是一條可行的路。畢竟,你怎麼知道司機不是在騙你:)所以,我會用JMockit來代替DriverManager,並模擬靜態方法調用並進行所需的驗證。