java - 用于几种类型请求的 JMX Bean

标签 java performance jmx jconsole

我想显示特定请求类型的性能统计信息。当 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/

相关文章:

Tomcat:连接器的 "processingTime"是什么意思?

http - 是否有可用的 JMX - REST 桥?

performance - 有什么方法可以提高 PySpark 输出的效率吗?

c# - List<T> 与数组性能

JavaFX 将事件监听器附加到黑色圆圈

java - 你如何在java中创建多线程函数?

iphone - C代码运行得更快吗?

java - 许多带有mbeans的java进程,如何管理jmx端口

java - 很少有人扫描条形码,但很少有人不使用 Zxing

java - 在 Spock 测试中使用 @Client 在 Micronaut 中进行 HTTP 分段文件上传