gpt4 book ai didi

java - 访问 servlet 内的 Java EE 监控数据

转载 作者:行者123 更新时间:2023-11-30 04:57:34 25 4
gpt4 key购买 nike

我正在尝试访问 glassfish v3 在打开监控服务和 mbean 服务后收集的监控数据。

我想在同一台计算机上的“QuickInfo”servlet 中显示诸如ProcessingTime 或RequestCount 之类的数据,以向用户/管理员显示计算机是否繁忙。

我认为数据的入口可能是 InitalContext JNDI ...但我找不到示例。

感谢您的帮助。

最佳答案

要排除故障并查找您感兴趣的数据的确切名称,请使用以下命令:

asadmin get -m pattern-here
asadmin get -m "server.web.request.*" # for example

您需要一个依赖项:

   <dependency>
<groupId>org.glassfish.flashlight</groupId>
<artifactId>flashlight-framework</artifactId>
<version>3.2-SNAPSHOT</version>
<scope>provided</scope>
</dependency>

对于版本,请使用您正在使用的 GlassFish 的任何版本。

输出有点困惑,但它会给你一个想法。

import org.glassfish.flashlight.MonitoringRuntimeDataRegistry;
import org.glassfish.flashlight.datatree.TreeNode;
import javax.annotation.Resource;

@Resource
private MonitoringRuntimeDataRegistry datareg;

private String showOneNode() {
StringBuilder sb = new StringBuilder("<ul>\n");
TreeNode mainNode = datareg.get("server");
List<TreeNode> ltn = mainNode.getNodes("server.web.request.*");

for(TreeNode tn : ltn) {
String val = tn.getValue().toString();
sb.append("<li>").append(tn.getCompletePathName() + val);
}

sb.append("</ul>");
return sb.toString();
}

============

链接:

关于java - 访问 servlet 内的 Java EE 监控数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com