我需要了解有关监控我的Web应用程序中的连接池的信息。
有关应用程序的技术规范中提到如下:连接池监控
- 应用服务器 - JBoss应用服务器
- 数据库 - Oracle 10g中
- 后端 - 休眠
我需要知道监控连接池的方式有哪些,以及我们如何做到这一点。无论是通过Hibernate还是通过JBoss或其他方式? 请建议我以正确的方式做到这一点。
我需要了解有关监控我的Web应用程序中的连接池的信息。
有关应用程序的技术规范中提到如下:连接池监控
我需要知道监控连接池的方式有哪些,以及我们如何做到这一点。无论是通过Hibernate还是通过JBoss或其他方式? 请建议我以正确的方式做到这一点。
这可能不是你想要的。但是你用什么游泳池呢?如果你还没有决定,退房C3PO,它提供了JMX公开的属性监测
对于一个典型的服务器端Java应用程序,监测的最优选的方式之一是通过JMX。大多数应用程序(包括连接池)提供默认的JMX bean(称为MBeans或托管bean),可用于监视。连接池(例如C3P0)创建一个MBean与潜在可用的JMX服务器(这是存在于几乎所有的应用服务器包括的Tomcat,JBoss的)
这的MBean结合,将保存所有有关连接的信息池。你已经提到你正在使用JBoss服务器。在Jboss提供的Web管理控制台上,应该是是查看所有MBean(包括部署的连接池的MBean)的规定。
另一种监控方式是通过Java自带的JConsole实用程序。同样的JConsole也可以用于monitor the JBoss AS。
FlexyPool是数据源的代理,为几乎所有已知的连接池更好地监测和故障切换:
它可以让你监控以下指标:
这样你可以调整池的大小,使其可以容纳尽可能多的应用程序节点,同时保护您免受某些unexpected traffic spikes的影响。
我发现当使用JConsole正如其他答案通过JMX连接到JBoss(5.2)时,连接池的MBean不可见。
取而代之,我使用内置的JMXConsole,通常可在:http://localhost:8080/jmx-console - 您可能必须更改部署的主机名和端口。
如果正在运行,您将看到用户名和密码提示。
默认的用户名/密码为:管理员/管理员
我发现我第一次尝试这样做,什么都没有发生,我不得不更新文件:服务器/默认/ conf目录/道具/ JMX控制台用户。性能并取消2号线:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
一旦这样做,我可以登录。然后,我选择了相应的连接池链接,例如:name = DefaultDS,service = ManagedConnectionPool它显示了所有的连接池信息,例如:http://www.dell.com。 AvailableConnectionCount,InUseConnectionCount等。
如何使用JConsole监视DBCP池。我搞不清楚了 !!任何帮助或指导指向正确的方向。我正在使用java 5和Tomcat 5. – Mubasher
DBCP不支持JMX开箱即用。但有办法做到这一点。看看这个链接。 http://www.nurkiewicz.com/2011/12/enabling-jmx-in-hibernate-ehcache-qurtz.html – Santosh
似乎更准确地说,应用程序的模块(或类)将提供默认的MBean。 ..不存在应用程序的MBean。会有多个权利?而且每个模块(可能)都会提供一个绑定到JMX服务器的MBean。 –