调用 JBoss MBean 函数来获取 threaddump
一个应用程序正在使用 JBoss 4.2.2,我发现有必要调用 listThreadDump()
,并且我希望它位于 ServerInfo
中。
我想我需要查找此信息的 jar 是 jboss-jmx.jar。
那么,如何以编程方式复制通过调用类似 http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:type=ServerInfo&methodName=listThreadDump< 的内容来完成的操作/代码>?
An application is using JBoss 4.2.2, and I have found it necessary to call listThreadDump()
, and I expect it is in ServerInfo
.
I am thinking the jar I need to find this information is jboss-jmx.jar.
So, how do I programmatically duplicate what is done by calling something similar to http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:type=ServerInfo&methodName=listThreadDump
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这就是我访问 ServerInfo MBean 的方式。我使用的是JBoss AS 5.1,但是这个方法应该是相同的。
要调用
listThreadDump()
,您可以使用MBeanServer
实例invoke()
ServerInfo
MBean 上的方法。此外,您可以使用同一 MBeanServer 访问 MBean 的属性。
示例代码:
最后,我发现当 MBean 公开“实例”属性时它很方便,因此您可以直接访问该对象
(CastToType) server.getAttribute(name, "instance")
而不必总是访问通过 MBeanServer。例如,在使用 JMS 时,最好使用 ServerPeer 实例,因为您可以获取队列和主题订阅者上的消息计数器。This is how I have accessed the ServerInfo MBean. I'm using JBoss AS 5.1, but this method should be the same.
To call
listThreadDump()
, you caninvoke()
the method on theServerInfo
MBean using anMBeanServer
instance.Additionally, you can access attributes of MBeans using the same MBeanServer.
Sample code:
Finally, I find it handy when MBeans expose an 'instance' attribute, so you can then access the object directly
(CastToType) server.getAttribute(name, "instance")
instead of always going through the MBeanServer. For example, when using JMS, the ServerPeer instance is nice to have as you can get message counters on your queues and topic subscribers.