使用 JMX 监视 DBCP2 连接池



我从DBCP2文档中读到这个新版本支持对连接池的JMX监视,但我找不到任何显示实际使用情况的示例。

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

如果有人不熟悉 JDBC,您可以在此处阅读有关它的信息。

对此的任何帮助将不胜感激。谢谢!

我也没有找到任何文档,但是通过挖掘源代码,我已经弄清楚了一些事情。

您只需要像往常一样创建一个BasicDataSourceBasicManagedDataSource对象,然后调用 setJmxName() 方法。 然后,当您调用 getConnection() 方法时,DataSource 将自己注册到平台的 MBean 服务器,并在您调用 close() 方法时取消注册自身。


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

最新更新