来自 JMX.newMBeanProxy() 的意外行为



I get a ThreadMXBean proxy for remote JVM as

ObjectName objName = ManagementFactory.getThreadMXBean().getObjectName() ;

ThreadMXBean proxy = JMX.newMBeanProxy(MBeanServerConnection, objName, ThreadMXBean.class);

但是,当我调用以下内容时,它说它无法从CompositeDataSupport转换为ThreadInfo

ThreadInfo tInfo = proxy. getThreadInfo(true, true);

代理不应该负责所有转换吗?此外,我正在有效地调用ThreadMXBean上的getThreadInfo()

ThreadMXBean是一个MXBean。 您的代码已调用JMX#newMBeanProxy。 此方法返回的代理无法处理 MXBean 的属性。 相反,请使用JMX#newMXBeanFactory获取能够处理 MXBean 属性的代理。

ThreadMXBean proxy = JMX.newMXBeanProxy(MBeanServerConnection, objName, ThreadMXBean.class);

相关内容

  • 没有找到相关文章

最新更新