Search code examples
javajmx

package com.sun.jdmk.comm does not exist


I have found example of using jmx:

import javax.management.*;
import java.lang.management.*;
import com.sun.jdmk.comm.HtmlAdaptorServer;

public class SimpleAgent
{
    private MBeanServer mbs = null;

    public SimpleAgent()
    {
        // Получить экземпляр MBeanServer
        mbs = ManagementFactory.getPlatformMBeanServer();
        HtmlAdaptorServer adapter = new HtmlAdaptorServer();

        // Создаем наш MBean
        Hello helloBean = new Hello();
        ObjectName adapterName = null;
        ObjectName helloName = null;

        try {
            // И регистрируем его на платформе MBeanServer
            helloName = new ObjectName("SimpleAgent:name=hellothere");
            mbs.registerMBean(helloBean, helloName);

            // Теперь мы регистрируем коннектор, который
            // будет доступен по HTTP-протоколу
            adapterName = new ObjectName("SimpleAgent:name=htmladapter,port=8000");
            adapter.setPort(8000);
            mbs.registerMBean(adapter, adapterName);
            adapter.start();

        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    // Это вспомогательный метод - он позволяет нашей программе
    // остановиться и ждать
    private static void waitForEnterPressed()
    {
        try {
            System.out.println("Press  to continue...");
            System.in.read();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String argv[])
    {
        SimpleAgent agent = new SimpleAgent();
        System.out.println("SimpleAgent is running...");
        SimpleAgent.waitForEnterPressed();
    }
}

But After code compiling I see following messages:

java: package com.sun.jdmk.comm does not exist

java: cannot find symbol
  symbol:   class HtmlAdaptorServer
  location: class com.journaldev.jmx.SystemConfigManagement

java: cannot find symbol
  symbol:   class HtmlAdaptorServer
  location: class com.journaldev.jmx.SystemConfigManagement

I use jdk 1.8

Should I use external libraries for correct mentioned mistakes ?


Solution

  • add jmxtools.jar in your build path

    or add following maven dependency:

    <dependency>
        <groupId>com.sun.jdmk</groupId>
        <artifactId>jmxtools</artifactId>
        <version>1.2.1</version>
    </dependency>