我想显示特定请求类型的性能统计信息。当 Controller 类从浏览器获取 HTTP 请求时,它会将请求 xml 编码到请求对象中。从请求对象我可以获取请求类型。
是否可以为特定请求类型注入(inject) JMX MBean 并将其广播到 JConsole?
最佳答案
Is it possible to inject JMX MBeans for particular request type and broadcast it to JConsole?
Jconsole 会轮询统计信息,并且您无法“广播”您定义的请求类型,因为该类不会位于 Jconsole jar 中。
您可以做的是在映射中保留请求类型的计数,然后根据需要返回 type -> count
字符串输出的 String[]
。像这样的东西:
public String[] getResultTypeCount() {
List<String> list = new ArrayList<String>();
for (Map.Entry<String, Integer> entry : typeMap.entrySet()) {
list.add(entry.getKey() + " => " + entry.getValue());
}
return list.toArray(new String[list.size()]);
}
您可能想查看JMX notifications .
关于java - 用于几种类型请求的 JMX Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16175822/