我需要了解如何监控 Web 应用程序中的连接池。
有关应用程序的技术规格如下:
我需要知道监控连接池的不同方法是什么以及我们如何做到这一点。是通过 Hibernate 还是通过 JBoss 还是其他方式? 请建议我正确的方法。
对于典型的服务器端 Java 应用程序,最优选的监控方式之一是通过 JMX。大多数应用程序(包括连接池)都提供可用于监控的默认JMX bean(称为 MBean 或托管 bean)。连接池(例如 C3P0)创建一个 MBean,将其与底层可用的 JMX 服务器(几乎所有应用程序服务器中都存在,包括 tomcat、JBoss)绑定在一起
这个 MBean 将保存有关连接池的所有信息。您已经提到您正在使用 JBoss 服务器。在 Jboss 提供的 Web 管理控制台上,应该可以查看所有 MBean(包括已部署的连接池的 MBean)。
另一种监控方法是通过 Java 附带的 JConsole 实用程序。相同的 JConsole 也可用于监控 JBoss AS。
通过JMX连接到JBoss(5.2)时,连接池的MBean不可见。 相反,我使用了内置的
JMXConsole,通常可在:http://localhost:8080/jmx-console - 您可能需要更改部署的主机名和端口。 如果正在运行,您将看到用户名和密码提示。
默认用户名/密码是:admin/admin
我发现第一次尝试此操作时,没有任何反应,我必须更新文件:server/default/conf/props/jmx-console-users.properties
并取消注释第二行:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
完成此操作后,我就可以登录了。此时,在ObjectName Filter
中,我输入: jboss.jca:* 然后,我选择了适当的连接池链接,例如: name=DefaultDS,service=ManagedConnectionPool,它显示了所有连接池信息,例如可用连接计数、使用连接计数等