ошибка при попытке доступа к метрикам jmx программно - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь протестировать простое 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. Что-то еще, что я должен сделать, чтобы решить это?

...