JMX (Java Management Extensions) is a set of specifications for application and network management in the J2EE development and application environment. JMX defines a method for Java developers to integrate their applications with existing network management software by dynamically assigning Java objects with management attributes and operations. By encouraging developers to integrate independent Java management modules into existing management systems, the Java Community Process (JCP) and industry leaders hope that developers will consider non-proprietary management as a fundamental issue rather than as an afterthought.
JMX facilitates the centralized management of managed objects (called Mbeans) which act as Java wrappers for applications, services, components, or devices in a distributed network. The actual management is provided by an MBean server, which acts as a registry for all manageable resources. The MBean server is the spine of the JMX architectural frame, allowing server components to plug in and discover all manageable objects.
Java Managment Extensions for management and monitoring are an optional extension to the standard Jave Developer Kit (JDK) and can be used in place of Simple Network Management Protocol (SNMP).