>我公开了一个 MBean NotifyFailedTriggers,它公开了一个整数值。我已经正确配置了轮询器,收集器和jmx-datacollection配置文件。但是,收集的守护进程似乎跳过了 mbean,说它没有注册。请参阅随附的日志。
2018-06-12 13:08:41,204 调试 [pool-10-thread-8] o.o.n.j.i.DefaultJmxCollector: Collect MBean (objectname=com.example:name=notifyFailedTriggers, wildcard=false(
2018-06-12 13:08:41,205 调试 [pool-10-thread-8] o.o.n.j.i.DefaultJmxCollector: Collect ObjectName com.example:name=notifyFailedTriggers
2018-06-12 13:08:41,328 调试 [pool-10-thread-8] o.o.n.j.i.DefaultJmxCollector: ObjectName com.example:name=notifyFailedTriggers 未注册。
2018-06-12 13:08:41,329 调试 [pool-10-thread-8] o.o.n.j.i.DefaultJmxCollector: Skip ObjectName com.example:name=notifyFailedTriggers
2018-06-12 13:08:41,510 信息 [收集线程-15-of 50] o.o.n.c.收藏服务:运行:完成收集 3/xx.xx.84.122/onms-poc/example1
2018-06-12 13:08:41,510 调试 [收集线程-15-of-50] o.o.n.s.LegacyScheduler: schedule: 添加现成的可运行 CollectableService for Service 3:/xx.xx.84.122:onms-poc (ready in 300000ms(,间隔 300000
这是一个独立的 Java 应用程序,它公开了 MXBeans。
是否有特定原因导致它认为此MXBean未注册并因此跳过它?
简而言之,如果 MBean 服务器说它是未注册的,它就会认为 MXBean 已取消注册。您可能需要配置应用程序以启用某些 Bean,或者您使用的应用程序版本可能不支持有问题的特定 Bean。
在幕后,JMX 收集器询问 MBean 服务器对象是否已注册。如果 MBean 服务器响应说它不是,JMX 收集器将记录您粘贴的消息。这是发生这种情况的 JMX 收集器代码,下面是它调用的"isRegister"方法的文档,该方法用于做出该决定。