Skip to main content
| Project | License | Overview | Release Notes | Governance | Download | Contributions | References |

Welcome to Project OpenDMK!

Project OpenDMK is the open source project for the JavaTM Dynamic Management Kit.


The majority of Project OpenDMK code is released under and governed by either the GNU General Public License, Version 2 only (GPL) or the Common Development and Distribution License (CDDL). Before downloading Project OpenDMK software, you should become familiar with these licences. Some binary components listed on the download page are covered under the Binary License for Project OpenDMK.

You can obtain a copy of these licenses from here:


The Project OpenDMK source code is based on the Java DMK 5.1 patch level 3 code base. It supports the following features:

  • Virtual MBeans: Project OpenDMK includes an MBeanServerBuilder which adds MBeanServerInterceptors on top of a JMX API MBeanServer. MBeanServerInterceptors can be used to support Virtual MBeans.
  • Federated MBean Servers: Project OpenDMK includes a Cascading API, with a naming scheme based on ObjectName prefixes (com.sun.jdmk.remote.cascading).
  • Agent Discovery: Project OpenDMK includes a Discovery API (based on IP multicast), which allows OpenDMK agents to discover each other dynamically.
  • Interoperability: Project OpenDMK includes all Java DMK 5.1 Legacy Connectors, providing interoperability with legacy Java DMK agents. In addition, these connectors can be wrapped in JMX Remote API compliant connectors, allowing a smooth migration towards standard implementations. The legacy connectors include:
    • A legacy RMI JRMP/IIOP connector
    • A legacy HTTP/HTTPS connector
  • HTML Console: Project OpenDMK includes a legacy HTML Adaptor, which can provide limited access to JMX MBeans from a regular web browser.
  • JMXMP connector: Project OpenDMK includes an implementation of JSR 160 (JMX Remote API 1.0) optional packages (jmxremote_optional.jar) for the JMXMP protocol, which can run on top of the mandatory implementations of the JMX API 1.2 and JMX Remote API 1.0.
  • SNMP interoperability: Project OpenDMK includes an SNMP Toolkit, comprising an SNMP Manager API, an SNMP Adaptor, and a MIB compiler. The SNMP toolkit can be used to develop SNMP agents and SNMP management applications. It supports SNMP v1, SNMP v2c and SNMP v3.
    Important Note: The first release of Project OpenDMK doesn't include the SNMP Runtime. If you plan to work with SNMP please download one of the later releases such as opendmk-1.0-b02 or later.

Release Notes

This release of Project OpenDMK has the same features and code base as the Java DMK version 5.1, patch level 3, with the exception of some legacy or deprecated APIs which were removed. The examples, documentation, and source code contributions that can be found in the commercial Java Dynamic Management Kit are not included in this release.

The following APIs were removed from the Project OpenDMK code base:

  • The legacy SNMP APIs (from Java DMK 5.0 or earlier) which were deprecated in Java DMK 5.1 and replaced by the packages.
  • The legacy cascading API (com.sun.jdmk.cascading) which was deprecated in Java DMK 5.0 and replaced by the com.sun.jdmk.remote.cascading packages.
  • The proxygen proxy generator, which was rendered obsolete by JMX 1.2 MBeanServerInvocationHandler.
  • The old com.sun.jdmk.trace.* and com.sun.jdnk.Trace* classes, which were obsolete.

This release of Project OpenDMK does not have its own documentation set.

If you wish to build Project OpenDMK sources, you will need either Apache Ant version 1.6.5 or higher, or alternatively, NetBeans IDE version 5.5 or higher.


The OpenDMK project will use a governance model similar to the OpenJDK project.

Become a contributor

Like many other open-source projects, the OpenDMK project requires contributors to jointly assign their copyright on contributed code. If you haven't yet signed the Oracle Contributor Agreement (OCA) then please do so scan it and e-mail the result to sun_ca(at)

Please make sure to specify your user name, and to specify OpenDMK as the project you'd like to contribute to so that we can process and store your OCA.

The OCA gives Oracle and the contributor joint copyright interests in the code. The contributor retains copyrights while also granting those rights to Oracle as the Community's sponsor. You only need to sign the OCA once in order to cover all changes that you might contribute to any Oracle-sponsored open-source community including not just OpenDMK but also, for example, GlassFish, NetBeans, etc. If you've already signed the OCA or the former SCA (Sun Contributor Agreement) in order to contribute to some other Oracle-sponsored community then you do not need to sign it again in order to contribute to OpenDMK. (You can learn more about the OCA by consulting its FAQ.)

Note that by contributing source code or other material to this website you represent that you have a contributor agreement with Sun for such contributions. If this representation is not true you hereby license your contributions as if they were Other Materials under this website's Terms of Use. In order to track contributors you understand that your full name and username will be posted on a public URL of authorized contributors.

If you have any question regarding the Oracle Contributor Agreement please have a look at the Oracle Contributor Agreement (OCA) FAQ.

Discuss And Submit Changes

Join the Project OpenDMK as an observer.

Sign the Oracle Contributor Agreement as explained above.

Discuss your intended changes and submit your patch to the Project OpenDMK developer's mailing list.

See also How To Contribute on OpenJDK Project pages: most of the rules described there also apply to OpenDMK contributions.


You can download project OpenDMK sources and binaries from this page:

Additional Source Contributions

See also the additional source contributions to the OpenDMK project.


  1. Java DMK 5.1 Home Page
  2. Java DMK 5.1 documentation set
  3. Project OpenDMK - High level presentation slides (pdf)

Last modified: Fri Nov 30 12:40:33 MET 2007
Please Confirm