this pageに説明するようにMBeanServerConnection
で、remotlyそれにアクセスすることができます
MBeanServerConnection mbs;
// Connect to a running JVM (or itself) and get MBeanServerConnection
// that has the JVM MXBeans registered in it
...
try {
// Assuming the RuntimeMXBean has been registered in mbs
ObjectName oname = new ObjectName(ManagementFactory.RUNTIME_MXBEAN_NAME);
// Get standard attribute "VmVendor"
String vendor = (String) mbs.getAttribute(oname, "VmVendor");
} catch (....) {
// Catch the exceptions thrown by ObjectName constructor
// and MBeanServer.getAttribute method
...
}
しかし、私の知る限り理解し、あなたはJavaインタフェースを使用することはできません、あなたがする必要があります
CompositeDataSupport mem = (CompositeDataSupport)serv.getAttribute(memory, "NonHeapMemoryUsage") ;
と
mem.get("committed")
にしたいプロパティを照会
彼らは別の質問で言ったように、かなりひどい( '文字列型のインターフェース')。
Brian Agnew氏によると、JConsoleビューは、必要な情報が保存されている場所を見つけるのに非常に便利です。
ありがとうございました。 JMX上でプロキシMemoryMXBeanインターフェイスを使用しているときにキャスト例外を解決しました。これは答えとして投票する必要があります。 MemoryUsageへのマッピングを使って答えを広げることができます:MemoryUsage memoryUsage = MemoryUsage.from(mem); –