在我打开监控服务和mbean服务之后,我正在尝试访问glassfish v3正在收集的监控数据。
我想在同一台机器上的"QuickInfo“servlet中显示像ProcessingTime或RequestCount这样的数据,以便在机器繁忙时向用户/管理员显示。
我认为进入数据的入口可能是InitalContext JNDI ...但我找不到一个例子。
谢谢你的帮助。
发布于 2011-11-08 06:42:55
要排除故障并找到您感兴趣的数据的确切名称,请使用以下命令:
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();
}============
链接:
https://stackoverflow.com/questions/8038057
复制相似问题