用于线程挂起通知的 JMX 管理客户端

JMX Admin Client for Thread Hung Notifications

提问人:Siva Ram 提问时间:2/18/2020 更新时间:2/18/2020 访问量:163

问:

我已经为挂起线程的通知创建了一个管理客户端实现。我已通过 Adminclient 成功连接到服务器。

adminClient = AdminClientFactory.createAdminClient(connectProps);

当我使用以下查询获取 MBean for Node 时,我能够在服务器启动或停止时获得通知。

String query = "WebSphere:type=NodeAgent,node=" + nodeName + ",*";

但我只是在寻找与挂起线程相关的通知,您能否建议我使用什么 MBean。

我已经尝试在下面获取 MBean。

String queryString = "WebSphere:type=ThreadPool,process="+nodeName+",name=WebContainer,*" ;
String queryString = "WebSphere:type=ThreadPool,process="+nodeName+",name=ThreadPool,*" ;
String queryString = "WebSphere:type=ThreadPool,process="+nodeName+",name=ORB.thread.pool,*" ;

但是我没有收到 JMX 通知,尽管我可以看到SysetemOut.log存在挂起的线程错误。

 adminClient.addNotificationListener(nodeAgent, this, null, null);

我已使用上述方法将通知绑定到 MBean。

WebSphere Threadpool JMX 挂起

评论


答:

2赞 Dave Zavala 2/18/2020 #1

服务器 MBean 生成挂起的线程事件TYPE_THREAD_MONITOR_THREAD_HUNG和TYPE_THREAD_MONITOR_THREAD_CLEAR。将 MBean 查询修改为 ,然后为客户端将处理挂起线程事件的每个服务器添加一个通知侦听器。现在,应启用客户端以处理挂起线程事件的通知。"WebSphere:type=Server,*"

评论

0赞 F Rowe 2/19/2020
如果它有效,请接受答案,以便其他搜索者知道。