Как использовать getSystemCpuLoad () в JMX


Привет я не могу использовать getProcessCpuTime () или getProcessCpuLoad () или getSystemCpuLoad () в моей программе java. Я использовал как ниже.

ManagementFactory. getOperatingSystemMXBean().getProcessCpuTime();

Также Вот так

( (OperatingSystemMXBean) getOperatingSystemMXBean() ).getProcessCpuTime()

Но его ошибка, показывающая метод getProcessCpuTime (), не найдена. Я включил следующие заголовочные файлы. Этого достаточно, или мне нужно использовать еще.?

import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
Может ли кто-нибудь предложить мне, как использовать эти методы? я использую jdk1.6. И мой код ниже
import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class printUsage {

public static void main(String[] args) {
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();

System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuTime());
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getSystemCpuLoad());
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuLoad());
}

}
2 6
jmx

2 ответа:

Импорт следующего

 import com.sun.management.OperatingSystemMXBean;

Не

import java.lang.management.OperatingSystemMXBean;

Используйте следующий код.

OperatingSystemMXBean operatingSystemMXBean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();

Я получаю достоверные результаты с помощью этого кода.

Взгляните на следующий javadoc: http://docs.oracle.com/javase/6/docs/api/

Смотрите, какие методы определены для OperatingSystemMXBean. Ваша проблема заключается в том, что вы ищете методы, определенные в com.sun.management.OperatingSystemMXBean в java.lang.management.OperatingSystemMXBean.

Пакет com.sun предназначен в основном для внутреннего использования создателями java, а не для разработчиков приложений. Вы должны использовать классы из пакета java.lang.management и обратиться к соответствующему API doc.