Back to all use cases

AssessmentCross-Industry

You cannot choose a JDK vendor until you know which JDKs you already run

Mid-Sized Distribution Company

A typical engagement for a company that wants to leave an Oracle Java SE subscription or avoid one: inventory every Java runtime, compare OpenJDK distributions against the estate, and write the migration plan.

Overview

This is a typical engagement for a mid-sized company with a few hundred Java services across data center servers, virtual machines and a Kubernetes platform. Oracle JDK went onto the older servers by default years ago, newer teams use Temurin or Corretto images, and a procurement review has asked what Java the company actually runs. AceMQ and a partner Java specialist build the technical record and the plan.

Challenge

Nobody owns a Java standard. A directory called jdk does not say who built it, runtimes bundled inside vendor products never appear in package lists, container images carry their own JDK, and CI agents download whichever build a script names. Whether the company needs an Oracle Java SE subscription is a question for its agreement and its counsel, and it cannot even be asked precisely without an inventory.

Environment

Java 8, 11 and 17 services on Linux and Windows servers, a Kubernetes platform with several base images, CI agents that fetch JDKs on demand, and vendor products that bundle their own JRE.

Approach

AceMQ reads the runtime rather than the directory: the java.vendor property and release file on hosts, the JDK layer of each image in the registry, the CI agent images and the bundled runtimes of vendor products. The result is a table by application, team, vendor build and update level. AceMQ then compares distributions against what the estate needs. It gives no licensing advice and leaves the interpretation of the license to the customer's counsel.

Solution

  1. Scans hosts, container images, CI agents and bundled runtimes for vendor, version and update level
  2. Maps each runtime to the application, team and environment that depends on it
  3. Compares Temurin, Corretto, Zulu, the Red Hat build and the Microsoft build on platform fit, LTS release lines, vendor support dates and support terms
  4. Recommends one standard build per platform and an LTS target per application, with the reasons written down
  5. Plans a pilot on low-risk services, then migration waves with a rollback for each
  6. Adds a recurring scan so unmanaged Oracle JDK installs do not reappear

Outcome

The engagement delivers a written inventory by application and team, a distribution recommendation with its reasons, an LTS target per application, a wave plan with test criteria and a scan the customer's team can keep running. Licensing and procurement teams get the technical facts they need, and the licensing decision stays with the people who hold the agreement.

Technologies

JavaOpenJDKDockerKubernetes

Ready for a Java Health Check?

AceMQ's senior Java engineers have handled this exact type of engagement before. Whether you need architectural guidance, hands-on remediation, or an ongoing managed partnership, we're ready to help.