使用JMX监视DBCP2连接池

Adi*_*uly 6 java monitoring jmx apache-commons-dbcp

我从DBCP2文档中读到这个新版本支持连接池的JMX监控,但我找不到任何显示实际用法的示例.

我有一个简单的基于JDBC的java应用程序,它使用dbcp2创建一个简单查询服务使用的连接池,我想通过另一个工具,如VisualVM使用JMX监视这些连接.DBCP2 BasicDataSource有像setJmxName() 这样的方法,我没有看到任何用法,也不知道如何使用它.

如果有人不熟悉JDBC,您可以在此处阅读.

任何有关这方面的帮助将不胜感激.谢谢!

sam*_*hop 7

我也没有找到任何文档,但我通过挖掘源代码已经找到了一些东西.

您只需要像通常那样创建一个BasicDataSourceBasicManagedDataSource对象,然后调用该setJmxName()方法.在DataSource随后将与平台的MBean服务器中注册自己,当你调用的getConnection()方法,并注销自己,当你调用的close()方法.


设置JMX的"org.apache.dbcp:DataSource=mydbname"工作名称,可以在此处找到 Apache用于单元测试的示例.