MBeanServer queryNames性能问题

时间:2018-06-19 14:55:10

标签: java jmx mbeans

对于JMXConsole的自定义实现,我通过使用#queryNames(objectName, query)方法来检索某个域的所有MBean ObjectName,其中objectName为例如。 jboss.as:*,查询为空。在某些域中,最多有20.000个MBean,这导致大约60s的加载时间和大量内存被保留,随后是许多FullGC,并且对生产产生了可衡量的影响(在此过程中未检索到元数据,只有MBeanServer方法queryNames被调用)。

  1. 有没有办法做某事。喜欢分页吗?
  2. 如果不是,是否有一种查询方法,例如以特定字母开头的所有ObjectName,例如一个'a',它将返回以'a'开头的域jboss.as:*的所有ObjectName,例如access=audit,core-service=management
  3. 否则,是否还有其他选择来检索某个域的所有MBean名称? (例如,自我实现的MBeanServer)

0 个答案:

没有答案