Table of Contents
MX4J is an open source implementation of the JMX
TM technology.
JMX stands for
Java
TM Management Extensions
,
and it's an optional package for the J2SE
TM platform that is now
included in J2SE 5.0.
The Java Management Extension specification is a Java Specification Request (see
JSR 003) currently in maintenance release 1.2.
A new JSR has been issued to address connectivity to a remote JMX Agent,
JSR 160, which has released version 1.0 on
October 2003.
MX4J implements both JSR 3 and 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.
The MX4J implementation runs 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.
The MX4J implementation 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: