The XMOJO Project is a free open source implementation of JMX specification,
version 1.0. This implementation is derived from AdventNet's JMX implementation,
which has been available in the industry since 1999. Apart from complete implementation
of JMX specification, XMOJO also contains contributions of adaptors, such
as HTML and RMI and rich tools, such as MBeanBrowser.
What is JMX ?
Java Management Extensions (JMX) is an upcoming open technology specification
that defines the management architecture, which enables managing of applications
and services. This technology also allows Java developers to integrate their
applications with existing network management solutions.
Need for JMX
Before JMX, instrumentation is done for each protocol, i.e. instrumentation
will be done separately for SNMP access, HTTP access, CLI access, for the
same manageable information.
What is Instrumentation ?
For example, let us take a manageable parameter of a Servlet, say number of
concurrent users. This specifies the load or utilization of the servlet or
Web application.
Let us say you have a servlet method as listed below:
class
MyServlet{
static int concurrentusers;
//instrumentation code
public xxx service(...) { // start of the method
concurrentusers++; //instrumentation
code
...
...
// end of
the method } public
int getConcurrentusers() { return MyServlet.concurrentusers; //instrumentation
code } }
Thus the "concurrentUsers" count can be be accessed with any protocol with
the above instrumentation done just once. Thus, "Instrument Once and Access
with any Protocol" is made possible with the advent of JMX. The following
points highlights the need for JMX:
JMX allows common instrumentation of management information which is
protocol-neutral.
JMX allows a centralized management of managed beans, or MBeans, which
act as wrappers for applications, components, or resources in a distributed
network.
JMX is becoming a core part of application development and management.
JMX is widely adopted nowadays. It is built into Application Servers.
JMX is Java-based technology.
JMX is applicable to many domains -- an application, an EJB, a JSP
...
Benefits of JMX
Application management using JMX is simple and straightforward.
Scalability: New adaptors and connectors can be plugged. Any number
of applications can be managed.
Dynamic nature: Dynamic management of applications possible.