Download the JDK
Search the Tutorials
Hide the TOC
Trail: Java Management Extensions (JMX)
Lesson: Remote Management
Remote Management
Exposing a Resource for Remote Management By JConsole
Creating a Custom JMX Client
Home Page > Java Management Extensions (JMX) > Remote Management
Exposing a Resource for Remote Management By JConsole

> Exposing your Java applications for remote management by using the JMX API can be extremely simple, if you use the out-of-the-box remote management agent and an existing monitoring and management tool such as JConsole.

> To expose your application for remote management, you need to start it with the correct properties. This example shows how to expose the `Main` JMX agent for remote management.

> > Security consideration: For the sake of simplicity, the authentication and encryption security mechanisms are disabled in this example. However, you should implement these security mechanisms when implementing remote management in real-world environments. What Next? provides pointers to other JMX technology documentation that shows how to activate security.

> To monitor the `Main` JMX agent remotely, follow these steps:

> 1. If you have not done so already, save `jmx_examples.zip` into your `work_dir` directory.

> 2. Unzip the bundle of sample classes by using the following command in a terminal window.

>    > `unzip jmx_examples.zip`

> 3. Compile the example Java classes from within the `work_dir` directory.

>    > `javac com/example/*.java`

> 4. Start the `Main` application, specifying the properties that expose `Main` for remote management:

>    > `java -Dcom.sun.management.jmxremote.port=9999 \
>    > -Dcom.sun.management.jmxremote.authenticate=false \
>    > -Dcom.sun.management.jmxremote.ssl=false \
>    > com.example.Main`

>    A confirmation that `Main` is waiting for something to happen is generated.

> 5. Start JConsole in a different terminal window on a different machine:

>    > `jconsole`

>    The New Connection dialog box is displayed, presenting a list of running JMX agents that you can connect to locally.

> 6. Select Remote Process, and type the following in the Remote Process field:

>    > `hostname:9999`

>    In this address, `hostname` is the name of the remote machine on which the `Main` application is running and 9999 is the number of the port on which the out-of-the-box JMX connector will be connected.

> 7. Click Connect.

>    A summary of the current activity of the Java Virtual Machine (Java VM) in which `Main` is running is displayed.

> 8. Click the MBeans tab.

>    This panel shows all the MBeans that are currently registered in the remote MBean server.

> 9. In the left-hand frame, expand the `com.example` node in the MBean tree.

>    You see the example MBean `Hello` that was created and registered by `Main`. If you click `Hello`, you see its associated Attributes and Operations nodes in the MBean tree, even though it is running on a different machine.

> 10. To close JConsole, select Connection -> Exit.

Previous page: Remote Management
Next page: Creating a Custom JMX Client