Я пытаюсь отслеживать все процессы Java, запущенные на сервере, через jstatd.У меня достаточно настроено, чтобы я мог подключиться к VisualVM и увидеть все запущенные процессы.Большинство дисплеев работают нормально, однако некоторые вещи (особенно загрузка ЦП и MBeans) не отображаются.Вместо этого он говорит:
Браузер MBeans
Данные недоступны, поскольку не удалось установить соединение JMX с агентом JMX.
Я предположил, чтопроблема заключалась в том, что приложение должно «объявлять» через реестр jstatd
RMI, а не локально, поэтому я опробовал следующее (для этих предложений ), но оно все равно не будет отображаться.Код, который я пробовал, выглядит следующим образом:
public class JmxRmiConnectorTest {
public static void main(String[] args) throws Exception {
Registry rmiRegistry = LocateRegistry.createRegistry(9994);
String svc =
"service:jmx:rmi://localhost:9994/jndi/rmi://localhost:1099/connector";
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
JMXServiceURL url = new JMXServiceURL(svc);
RMIConnectorServer rmiServer = new RMIConnectorServer(url, null, mbeanServer);
rmiServer.start();
Thread.sleep(100000);
rmiServer.stop();
}
}
Как я могу заставить мои MBeans и использование ЦП отображаться в VisualVM при просмотре через jstatd?