Я пытаюсь протестировать простое Java-приложение, которое должно обращаться к локальным метрикам jmx на моем рабочем столе Windows. Это попытка получить доступ к метрикам kafka на удаленном сервере, и я пытаюсь понять основные концепции. Я был бы признателен за помощь в понимании этих концепций, а не за то, чтобы за них проголосовали.
Код, который я нашел, представляет собой простой клиентский скрипт jmx для доступа к локальному jmx. Я получаю сообщение об ошибке при запуске этого скрипта весной, и решения этой проблемы, найденные в поиске, указывают на то, что сервер должен работать, но я не уверен, что это значит.
Вот код:
private static String hostName = "127.0.0.1";
private static int port = 1099;
private static String objectGridName = "library";
private static String mapSetName = "ms1";
public static void main(String[] args) throws Exception{
String serviceURL = "service:jmx:rmi:///jndi/rmi://" + hostName +
":" + port + "/jmxrmi";
JMXServiceURL jmxURL = new JMXServiceURL(serviceURL);
JMXConnector jmxCon = JMXConnectorFactory.connect(jmxURL);
try{
MBeanServerConnection catalogServerConnection =
jmxCon.getMBeanServerConnection();
В строке с JMXConnectorFactory.connect я получаю следующую ошибку:
Exception in thread "main" java.io.IOException: Failed to retrieve
RMIServer stub: javax.naming.ServiceUnavailableException [Root exception
is java.rmi.ConnectException: Connection refused to host: 127.0.0.1;
nested exception is:
java.net.ConnectException: Connection refused: connect]
at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
at javax.management.remote.JMXConnectorFactory.connect(Unknown Source)
at javax.management.remote.JMXConnectorFactory.connect(Unknown Source)
at jmxConsumer.jmxMain.main(jmxMain.java:25)
Caused by: javax.naming.ServiceUnavailableException [Root exception is
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested
exception is:
java.net.ConnectException: Connection refused: connect]
at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source)
at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(Unknown
Source)
at javax.management.remote.rmi.RMIConnector.findRMIServer(Unknown
Source)
... 4 more
В фоновом режиме работают и jconsole, и jVirtualVM. Что-то еще, что я должен сделать, чтобы решить это?