Table of Contents
MX4J is an open source implementation of the JMXTM technology.
JMX stands for JavaTM Management Extension, and it's
an optional package for the J2SETM platform.
The Java Management Extension specification is a Java Specification Request
(see JSR 003) currently in maintenance release 1.1.
A new JSR has been issued to address client-side API to connect to a remote JMX Agent,
JSR 160.
JMX defines the architecture, the patterns, the API and the services to build manageable Java applications.
But what do this really mean ?
By means of JMX, components of an application have a standard way of exposing some of their functionality for management. A JMX Agent enables manageability of these functionalities from local or remote, allowing a system administrator to manage the components of the application.
Managing a component means having the possibility to stop and restart it, to remove it from the application or to add it to an application, to change its configuration files, to ask it to do some operation (such as downloading information from an URL the system administrator passes in), and so on, depending on the management interface that this component expose.
Many application servers such as Tomcat, JBoss, IONA, BEA WebLogic have their architecture based on JMX.
Every JMX Agent comes with a set of predefined services, defined by the JMX specification.
A service is a manageable component that can be used by, embedded in or extended by an application.
Every JMX implementation can provide additional services, and normally each additional service can be used or
deployed in a different JMX implementation without requiring any additional operation, thus achieving
extreme portability of applications and application components.
MX4J's implementation of the JMX specification is stable and reliable, passing every night an extended suite of tests following the XP principles.
MX4J implementation is running in J2SE version 1.3 or superior.
It provides some non-standard but useful extension that can be used at wish, or not used if maximum portability is a primary goal.
It provides also useful services and tools, and several examples to guide users in the use of JMX to build their applications. Some example of tools, extensions and utilities are: