
Welcome to MX4J, an open source implementation of the 
Java(TM) Management Extensions (JMX) (JSR 3) and of the 
Java(TM) Management Extensions (JMX) remote API (JSR 160).

For further information about JMX and JSR 3, see 
http://java.sun.com/jmx and
http://jcp.org/en/jsr/detail?id=3

For further information about JMX remote and JSR 160, see
http://java.sun.com/jmx and
http://jcp.org/en/jsr/detail?id=160


Refer to the MX4J home page (http://mx4j.sourceforge.net) for 
new releases and further information about the MX4J project.

For up-to-date documentation see http://mx4j.sourceforge.net/docs.



The MX4J distribution
~~~~~~~~~~~~~~~~~~~~~

MX4J's binary distribution is bundled in a compressed file, that 
contains documentation, examples, libraries.

The structure of binary distribution is as follows:

/docs/		contains the documentation
/examples/	contains examples on how to use JMX
/lib/		contains the MX4J implementation,
		tools and examples jars

MX4J's source distribution is bundled in a compressed file, that 
contains the source code and an Ant build file, but no libraries.

The structure of source distribution is as follows:

/build/		contains the Ant build file
/lib/		put here the libraries needed to build MX4J
/src/		the source code



Installing MX4J
~~~~~~~~~~~~~~~

MX4J does not need to be installed.
It simply provides libraries in form of jars that can be used
to develop JMX applications.



MX4J jars
~~~~~~~~~

Under the /lib/ directory there are the following jars:
+ mx4j-jmx.jar       -->  contains the JSR 3 javax.management.* classes
+ mx4j-impl.jar      -->  contains the mx4j.* classes that implements
                          JSR 3 functionalities
+ mx4j.jar           -->  The mx4j-jmx.jar and mx4j-impl.jar packed together
 
+ mx4j-rjmx.jar      -->  contains the JSR 160 javax.management.remote.* classes
+ mx4j-rimpl.jar     -->  contains the mx4j.* classes that implements
                          JSR 160 functionalities
+ mx4j-remote.jar    -->  The mx4j-rjmx.jar and mx4j-rimpl.jar packed together

+ mx4j-tools.jar     -->  contains the MX4J tools
+ mx4j-soap.war      -->  contains a sample web application that deploys a JSR 160
                          connector server over the soap protocol
+ mx4j-examples.jar  -->  contains the MX4J examples



MX4J's Tools
~~~~~~~~~~~~

+ HTTP adaptor, shows the MBeanServer's status in XML.
  By transforming with XSLT the XML, can be used to see the HTML view 
  of an MBeanServer in a browser
+ Configuration loader, an XML file format and loader to startup and shutdown
  a JMX application
+ Naming MBeans, wrapping the rmiregistry and tnameserv
+ Statistics MBeans, to gather and show statistics about MBean's attributes
+ Mail MBean, to send email via the JavaMail API
+ Jython MBean, to run Python scripts
+ I18N StandardMBean, to show MBean metadata description in several languages
+ JSR 160 utilities such as:
  * PasswordAuthenticator, to authenticate users over JSR 160 connectors
  * A 'local' JSR 160 connector and connector server
  * A 'soap' JSR 160 connector and connector server
  * RemoteMBeanProxy, to proxy MBeans that reside on a remote MBeanServer
  * RMI [Client|Server] SocketFactories over SSL
  * Base classes to develop custom JSR 160 protocol connector and connector servers



MX4J's Deprecated Tools
~~~~~~~~~~~~~~~~~~~~~~~
+ The JRMPAdaptor and the IIOPAdaptor were tools that allowed connection with a 
  remote MBeanServer via plain RMI and via CORBA's IIOP protocol.
  Since MX4J 2.x now implements the standard JMX Remote API (JSR 160), these 
  tools are not mantained anymore and they're not shipped with the binary 
  distribution, to protote use of the standard JMX Remote API.
  They're still present in the source distribution and can be compiled using the
  provided build file if needed. 
  Their usage is strongly discouraged, though, and they will not be supported
  any longer.
+ The HeartBeat tool, which was dependent on the above JRMPAdaptor, is also 
  deprecated and not mantained nor supported anymore.



MX4J's Documentation
~~~~~~~~~~~~~~~~~~~~

Refer to the included documentation under /docs/ for further 
details on how to use MX4J, and to the online, nightly updated, documentation
for the latest changes.



MX4J Development
~~~~~~~~~~~~~~~~

MX4J includes software that has been developed using
libraries from the following projects:
+ The Apache Software Foundation (http://www.apache.org)
  * The Commons Logging project (http://jakarta.apache.org/commons)
  * The Log4J project (http://jakarta.apache.org/log4j)
  * The Byte Code Engineering Library project (http://jakarta.apache.org/bcel)
  * The Axis project (http://ws.apache.org/axis)
+ The Jetty project (http://jetty.mortbay.org)
+ The Jython project (http://www.jython.org)
