The OC4J 10g (10.0.3)
Developer Preview we have on OTN supports JMX 1.2. We ship the product
with it's own embedded JMX server implementation.
In addition to the Sun reference implementation, there also exists a
very popular open source implementation of JMX called MX4J (see the
MX4J website at http://mx4j.sourceforge.net/).
We can use the MX4J implementation (both 1.1.1 and 2.0 B1) with
OC4J by replacing the embedded JMX server libraries we ship.
This will let you view the attributes of the MBean, of which the ImplementationVendor setting shows:
ImplementationVendor
Description : Attribute exposed for management MBean : JMImplementation:type=MBeanServerDelegate Type : java.lang.String Access : Read Only
MX4J 2.0 Beta1
The MX4J folks have recently released a beta version of MX4J 2.0. This
too can be used with OC4J. We need to do small rename of one of the
MX4J libs so it works with OC4J, see step 4.
OC4J
is pre-configured to load the mx4j-jmx.jar file if it finds it in it's
library path. The MX4J folks have re-partitioned their distribution
into a different set of JAR files. The easiest way to get it to work is
to copy the lib/mx4j.jar from the MC4J distribution into the OC4J lib
directory ((j2ee/home/lib) as
mx4j-jmx.jar . You could modify the Class-Path element of the
Manifest.mf file inside of oc4j.jar, but I'd don't want to encourage
you to mess with our JAR files
Rename the existing JMX implementation (jmxri.jar) so it isn't loaded by OC4J
Restart OC4J.
OC4J should now be running with the MX4J JMX 2.0 B1 implementation.
Using the JMX Console, you should now see the implementation vendor
listed as MX4J, and the implementation version as "2.0-beta-1".
ImplementationVersion
Description : Attribute exposed for management MBean : JMImplementation:type=MBeanServerDelegate Type : java.lang.String Access : Read Only