首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问servlet中的Java EE监视数据

访问servlet中的Java EE监视数据
EN

Stack Overflow用户
提问于 2011-11-07 22:46:58
回答 1查看 117关注 0票数 1

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

我想在同一台机器上的"QuickInfo“servlet中显示像ProcessingTime或RequestCount这样的数据,以便在机器繁忙时向用户/管理员显示。

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

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-08 06:42:55

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

代码语言:javascript
复制
asadmin get -m pattern-here
asadmin get -m "server.web.request.*"   # for example

您需要一个依赖项:

代码语言:javascript
复制
   <dependency>
        <groupId>org.glassfish.flashlight</groupId>
        <artifactId>flashlight-framework</artifactId>
        <version>3.2-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>

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

输出有点乱,但它会给你一个概念。

代码语言:javascript
复制
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();
}

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

链接:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8038057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档