我从DBCP2文档中读到这个新版本支持对连接池的JMX监视,但我找不到任何显示实际使用情况的示例。
我有一个简单的基于 JDBC 的 Java 应用程序,它使用 dbcp2 创建一个由简单查询服务使用的连接池,我想通过另一个工具(如使用 JMX 的 VisualVM)监视这些连接。DBCP2 的BasicDataSource
有像 setJmxName() 这样的方法。我没有看到任何用法,也不知道如何使用它。
如果有人不熟悉 JDBC,您可以在此处阅读有关它的信息。
对此的任何帮助将不胜感激。谢谢!
我也没有找到任何文档,但是通过挖掘源代码,我已经弄清楚了一些事情。
您只需要像往常一样创建一个BasicDataSource
或BasicManagedDataSource
对象,然后调用 setJmxName()
方法。 然后,当您调用 getConnection()
方法时,DataSource
将自己注册到平台的 MBean 服务器,并在您调用 close()
方法时取消注册自身。
设置"org.apache.dbcp:DataSource=mydbname"
工作的JMX名称,可以在此处找到Apache用于单元测试的示例。