Supported Java Versions
This troubleshooting guide explains which Java version and JDK distributions provide JVM compatibility with the Nodinite JMX Monitoring Agent.
Java Version Compatibility Matrix
The Nodinite JMX Monitoring Agent connects to JVM applications using the standard JMX remote protocol. JMX remoting is supported on all LTS releases and most modern JDK distributions. The table below lists all supported versions and their compatibility status.
| Java Version | LTS | OpenJDK | Oracle JDK | Amazon Corretto | Eclipse Temurin | Status |
|---|---|---|---|---|---|---|
| Java 8 (1.8) | ✅ | ✅ | ✅ | ✅ | ✅ | Legacy — supported, not recommended |
| Java 11 | ✅ | ✅ | ✅ | ✅ | ✅ | Supported |
| Java 17 | ✅ | ✅ | ✅ | ✅ | ✅ | Recommended |
| Java 21 | ✅ | ✅ | ✅ | ✅ | ✅ | Recommended (latest LTS) |
| Java 23 (non-LTS) | ❌ | ✅ | ✅ | ✅ | ✅ | Supported — no extended support |
Tip
Run
java -versionon the host running your JVM application to confirm the exact Java version and JDK distribution installed.
Supported JDK Distributions
The JMX remote protocol is part of the Java SE specification and is available in all major JDK distributions. The following distributions are tested and confirmed to work with the Nodinite JMX Monitoring Agent:
- OpenJDK — The reference implementation. All versions from Java 11 onwards are supported.
- Oracle JDK — Fully supported. Note that Oracle JDK 17 and later require a paid subscription for production use.
- Amazon Corretto — AWS-maintained OpenJDK distribution. All LTS versions supported.
- Eclipse Temurin — Adoptium project distribution. Recommended for commercial deployments without licensing cost.
- Microsoft Build of OpenJDK — Microsoft-maintained OpenJDK distribution. Supported on Azure and on-premises.
Note
The JMX Monitoring Agent uses standard JMX RMI connections and does not depend on any JDK-specific features. Any JDK that implements the full Java SE specification will work.
Recommended Java Version
Use the latest LTS (Long-Term Support) release for production deployments. Java 21 is the current recommended LTS version as of 2024 and provides:
- Extended security patches and bug fixes
- Improved virtual thread support (Project Loom)
- Lower GC pause times with generational ZGC
- Improved JMX performance under high heap pressure
Diagram: Decision flow for selecting a supported Java version for use with the JMX Monitoring Agent.
Java Version Upgrade Guidance
Upgrading from Java 8 to Java 11 or later
Java 9 introduced the Java Platform Module System (JPMS) which restricts reflective access. When upgrading, verify:
- JMX remote monitoring flags remain compatible. The
-Dcom.sun.management.jmxremote.*flags still work in Java 11 and later. - Application frameworks (Spring Boot, Boomi Atom) support the target Java version.
- Review the JMX Monitoring Agent Configuration to confirm no additional flags are needed.
Common Java Version Issues
JMX connection fails after Java upgrade
Cause: Java 17 and later enforce stronger encapsulation by default. Some JMX-related classes may require additional --add-opens flags.
Resolution: Add the following JVM flags if the JMX Monitoring Agent reports connection failures after a Java upgrade:
--add-opens java.management/sun.management=ALL-UNNAMED
--add-opens java.base/sun.net=ALL-UNNAMED
Boomi Atom reports unsupported Java version
Cause: The Boomi Atom installer and runtime require a specific JVM compatibility range. Using a non-LTS Java version may not be certified by the Boomi platform.
Resolution: Review the Boomi platform release notes to confirm supported Java versions, then use a certified LTS release such as Java 11, Java 17, or Java 21.
OpenJDK vs Oracle JDK licensing
Cause: Oracle JDK 17 and later require a commercial subscription for production use. Using Oracle JDK without a license in production violates Oracle's terms.
Resolution: Replace Oracle JDK with Eclipse Temurin or Amazon Corretto — both are free, open-source OpenJDK distributions with commercial support available.
Next Step
Thread Deadlock Detection Supported Garbage Collectors
Related Topics
Enable JMX Remote Monitoring Multi-JVM Monitoring JMX Monitoring Agent JMX Troubleshooting Overview