【问题标题】:JMX Admin Client for Thread Hung Notifications用于线程挂起通知的 JMX 管理客户端
【发布时间】:2020-02-18 04:28:42
【问题描述】:

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

adminClient = AdminClientFactory.createAdminClient(connectProps);

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

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

但我只是在寻找与 Hung Thread 相关的通知,请您建议我应该使用什么 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 中看到 Hung thread error is present。

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

我已经使用上面的方法将通知绑定到 MBean。

【问题讨论】:

    标签: websphere threadpool jmx hung


    【解决方案1】:

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

    【讨论】:

    • 如果有效,请接受答案,以便其他搜索者知道。
    猜你喜欢
    • 1970-01-01
    • 2016-06-05
    • 2017-06-20
    • 1970-01-01
    • 2013-07-10
    • 2013-11-13
    • 1970-01-01
    • 2012-12-28
    • 2022-10-30
    相关资源
    最近更新 更多