2016-01-25 36 views
3

我從DBCP2文檔讀取此新版本支持連接池的JMX監視,但找不到任何顯示實際使用情況的示例。使用JMX監視DBCP2連接池

我有一個簡單的基於JDBC的java應用程序,它使用dbcp2來創建一個由簡單查詢服務使用的連接池,並且我想通過另一個工具(如使用JMX的VisualVM監視這些連接)。 DBCP2的BasicDataSource有像setJmxName() 這樣的方法,我沒有看到任何用法,也不知道如何使用它。

如果有人不熟悉JDBC,可以閱讀關於它的文章here

任何幫助,將不勝感激。 謝謝!

+0

改進問題格式,使其更容易理解。增加了一些資源,指向其他人的JDBC文檔,以便更輕鬆地跟蹤該主題的重點。 – Mike

+0

我在生產中遇到大量線程數量較高的DBCP2問題,我決定使用完美工作的C3P0,再加上它有一個很好的JMX實現。 –

回答

4

我還沒有找到任何文檔,但我通過挖掘源代碼發現了一些問題。

您只需要創建一個BasicDataSourceBasicManagedDataSource對象,就像您通常會那樣,然後調用setJmxName()方法。當您調用getConnection()方法時,DataSource將在平臺的MBean服務器上註冊自己,並在您調用close()方法時取消註冊。


設置的"org.apache.dbcp:DataSource=mydbname"作品JMX名,Apache使用單元測試的例子可以found here

+1

對象名稱語法在此處描述:http://www.oracle.com/us/technologies/java/best-practices-jsp-136021.html。 –