- 3 minutes to read

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 -version on 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.

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
graph TD A["Select Java Version for JVM Application"] --> B{"Is it an LTS release?"} B -->|No| C["Consider upgrading to nearest LTS\n(Java 21 recommended)"] B -->|Yes| D{"Java version?"} D -->|"Java 8"| E[" Legacy — JVM compatibility confirmed\nbut upgrade to Java 11+ recommended"] D -->|"Java 11"| F[" Supported — consider Java 17 or 21 for new deployments"] D -->|"Java 17"| G[" Recommended LTS — fully supported"] D -->|"Java 21"| H[" Recommended — latest LTS, best performance"] style E fill:#FFD700 style F fill:#90EE90 style G fill:#90EE90 style H fill:#90EE90

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

Enable JMX Remote Monitoring Multi-JVM Monitoring JMX Monitoring Agent JMX Troubleshooting Overview