About Java Management Service

Java Management Service (JMS ) is a reporting and management infrastructure integrated with Oracle Cloud Infrastructure Platform services to observe and manage your use of Java SE (on-premise or in the Cloud).

As the stewards of Java, Oracle uniquely leverages its expertise to help enterprises gain critical insights into Java application behavior, compliance, and performance through JMS and equips you to:
  • Use insights from JMS to optimize your workloads across your enterprise (desktop, server, cloud); and
  • Protect your Java SE investments by identifying outdated Java installations, unauthorized applications, and Java runtime and application mismatches. For example, your application is using JDK 11, but you learn it's also using JDK 14, which is no longer supported.
JMS Fleet Management offers two levels of capabilities:
  1. Basic features, which includes the Java discovery and usage tracking capabilities available through Java Usage Tracker and file scanning. Basic features allow you to:
    • View the versions and vendor information of Java runtimes running in your systems
    • Identify which Oracle Java versions are being used
    • Identify how many Oracle Java installations are not up to date
    • View the applications running on Oracle Java runtimes
    • Identify which systems run Oracle Java runtimes
    • Export your usage data to object storage locations in csv format
  2. Advanced features allow you to:

Advanced features are to be enabled only on desktops, servers, or cloud deployments covered by an Oracle Java SE Universal Subscription, a legacy Oracle Java SE Subscription, a legacy Java SE Desktop Subscription, or when running on an Oracle Cloud Infrastructure service that permits access to the underlying operating system. Basic features are available to all Java users, whether or not they have an Oracle Java SE Universal Subscription or a legacy Oracle Java SE Subscription.

Java Management Service will track and report Java usage in your fleet by using:

  1. Java Usage Tracker: JMS relies on Java Usage Tracker to report Java usage. Using the Java Usage Tracker, you can monitor Oracle Java Runtime Environment usage and capture information such as the JRE version, vendor, applications running, and other details.

    • Java Usage Tracker detects application invocations and doesn't provide information about the duration for which an application was run. Consequently, JMS reports application invocation information in its resource records.
    • Java Usage tracker properties file is truncated once the usage reports are successfully sent to JMS .

    Java Usage Tracker is available for all releases of Oracle Java 7 and later versions, as well as the following older Java versions:

    • 6u25 and later updates of Oracle Java 6

    • 5.0u33 and later updates of Oracle Java 5

    • 1.4.2_35 and later updates of Oracle Java 1.4

    JMS generates the usage tracker in the central file system location during agent installation. If an older Oracle Java release earlier than 1.8.0_60, which doesn't support a central usage tracker, is detected, agents generate a local usage tracker properties file for the discovered older Java runtimes.

  2. Attach API: JMS uses Attach API during the execution of advanced features. OpenJDK usage may be reported by JMS during the execution of Scan for Java Libraries in the fleet.

    To exclude applications from being attached to, include the command line options: -XX:+DisableAttachMechanism and -XX:-UsePerfData.
  3. File scanning: JMS periodically performs file scanning to detect Java runtimes that aren't captured by Java usage tracker or Attach API. File scanning will detect
    • OpenJDK releases
    • Oracle JDK releases that are unused and, consequently, not captured by the Java Usage Tracker