Control-M External Java Installation

Control-M requires an external Java installation. To ensure that Java remains updated, Java library deliveries are decoupled from Control-M and not part of the installation. This reduces installation size and enables you to use the libraries that are common within your organization. You must ensure that a supported version of Java is available on the Control-M component host machines. For a list of supported Java vendors and versions, see Control-M/Agent Compatibility with External Java Vendors.

If Java is already installed on the host but you want to use a different Java specifically for Control-M, you can do one of the following:

  • Install Java: This might be required if your preferred Java vendor does not support side-by-side installations.

  • Extract Java: You can manually extract Java and use the -BMC_INST_JAVA_HOME environment variable during installation to point Control-M to this specific Java instance. You might want to use this option to avoid overwriting the existing Java used by other application teams.

If the Java path is changed after installation, you must update the path in all relevant Control-M components, as described in Changing the JRE Package. Otherwise, Control-M fails to function properly.

  • Both JRE and JDK are supported. However, BMC only requires JRE.

  • Java Standard Edition and Enterprise Edition are supported.

The following procedures describe how to set and change the Java package for each component after a new installation or after an upgrade on UNIX and Windows:

Setting the Java Environment Variable

This procedure describes how to set the Java environment variable, which points to an external Java installation. You must perform this procedure for each Agent before you install or upgrade. After the installation, each Agent has its own Java location according to the temporary variable value. The values are saved in the BMCINSTALL directory in the external_java_path_9.0.02.dat file. For a list of supported Java vendors, see Control-M/Agent Compatibility with External Java Vendors.

  • You only need to perform this procedure if you are using an extracted version of Java that is not installed.

  • (Windows only) You cannot set the Java environment variable on a Network File System (NFS).

  • (UNIX only) If you set the Java environment variable on a Network File System (NFS), you might experience performance issues.

  • The Java installation directory must contain the bin directory and the Release file.

  • If you are using external Java on SUSE, see KA 000396918.

Before You Begin

If Java is installed, run the following command to find the Java home directory:

  • UNIX: sh -c "java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'"

  • Windows: java -XshowSettings:properties -version 2>&1 > null | findstr "java.home"

Begin

  • Set the Java environment variable with one of the following operating systems:

    • UNIX: Do the following:

      1. From a command line, type one of the following commands:

        • sh/bash: export BMC_INST_JAVA_HOME=<Java_Directory>

          export BMC_INST_JAVA_HOME=/usr/lib/jvm/temurin-21-jdk

        • csh/tcsh: setenv BMC_INST_JAVA_HOME <Java_Directory>

        • setenv BMC_INST_JAVA_HOME/usr/lib/jvm/java-17-openjdk-amd64

      2. Install the Control-M component from the same session where you set the variable.

    • Windows: Do the following:

      1. From a command line, run the following command:

        set BMC_INST_JAVA_HOME=<Java_Directory>

        C:\jdk-17.0.13+12-jre

        The <Java_Directory> must not contain any spaces. Otherwise, Control-M might fail to properly install.

      2. Install the Control-M component from the same session where you set the variable.

    If you are installing in automatic or console mode, set the Java environment variable in the command, as follows:

    • UNIX: setup.sh -silent <xml_path>/<filename.xml> -BMC_INST_JAVA_HOME <java_path>

    • Windows: setup.exe -silent <xml_path>\<filename.xml> -BMC_INST_JAVA_HOME <java_path>

    The Java environment variable is now established.

    If you change or upgrade Java after the installation of the Control-M component, do one of the following:

    • Use the same Java folder that you used in the original installation.

    • Update values of Java settings in the external_java_path_9.0.02.dat file in the BMCINSTALL directory.

Changing the JRE Package

This procedure describes how to change the JRE package in Control-M/Agent, on UNIX and Windows. For more information about Java, see Control-M External Java Installation.

In Windows, you cannot use a network path.

Before You Begin

Begin

  • Do one of the following:

    • UNIX: Do the following:

      1. Do one of the following:

        • Interactive: Do the following:

          1. From a command line, run the following command:

            $HOME/BMCINSTALL/scripts/update_Java_home.sh

          2. Follow the prompts and enter the parameters, as required.

            A confirmation message appears when the update is complete.

        • Silent: Run the following command

          update_Java_home.sh -product <PRODUCT_NAME> -java_path <JAVA_PATH>

          where the <PRODUCT_NAME> is EM, Server, or Agent.

          A confirmation message appears when the update is complete.

      2. Start a new session and restart all Control-M processes.

    • Windows: Do the following:

      1. Open Windows Powershell as an Administrator and navigate to the following location:

        <Control-M_component_Home>\BMCINSTALL\scripts

      2. Do one of the following:

        • Interactive: Do the following:

          1. Run the following command:

            .\update_Java_home.ps1

          2. Follow the prompts and enter the parameters, as required.

            A confirmation message appears when the update is complete.

        • Silent: Run the following command

          update_Java_home.ps1 -java_path="<JAVA_PATH>"

          A confirmation message appears when the update is complete.

      3. Restart all Control-M processes.

      If you are running Control-M in a cluster environment, you must repeat these steps on each host.

      Changing the JRE Package in Control-M MFT

      This procedure describes how to change the JRE package in Control-M MFT on Linux and Windows. For more information about Java, see Control-M External Java Installation.

      If you have certificates imported in your existing JRE trust-store (cacerts file), you must export and import them to the new JRE trust-store before you change the JRE location.

      Before You Begin

      Begin

      1. Stop the Agent.

      2. Open one of the following:

        • Windows: <CTM Agent>\BMCINSTALL\external_java_path.dat

        • Linux: <CTM Agent>/BMCINSTALL/external_java_path.dat

      3. Change the value of the CM_MFT_JAVA_HOME parameter, as follows:

        CM_MFT_JAVA_HOME=<External JRE>

      4. Start the Agent.

Changing the JRE Package in Application Integrator

This procedure describes how to change the JRE package in Application Integrator. The use of JRE is supported only where the major release version is the same as the tested version. For more information about Java, see Control-M External Java Installation.

Begin

  • Do one of the following:

    • UNIX: Do the following:

      1. Edit the external_java_path.dat file in the <HOME>/BMCINSTALL/ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_AI_JAVA_HOME to the external Java path, as follows:

        CM_AI_JAVA_HOME={new JRE Path}

        • A relative path is not supported.

        • The path can only include alphanumeric, period, underscore, hyphen and plus characters.

      3. Stop the Application Integrator using the following command.

        $CONTROLM/cm/AI/exe/cm_container stop

        Application Integrator starts automatically.

    • Windows: Do the following:

      1. Edit the external_java_path.dat file in the <AGENT_HOME>\BMCINSTALL\ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_AI__JAVA_HOME to the external Java path, as follows:

        CM_AI_JAVA_HOME={new JRE Path}

        • The path must be enclosed with quotation marks.

        • A network path is not supported.

        • A relative path is not supported.

        • The path can only include alphanumeric characters, spaces, ., _, -, and +.

      3. Stop the Application Integrator using the following command.

        <AGENT_HOME>\cm\AI\exe\cm_container stop

        Application Integrator restarts automatically.

Changing the JRE Package in Control-M for SAP

This procedure describes how to change the JRE package in Control-M for SAP. The use of JRE is supported only where the major release version is the same as the tested version. For more information about Java, see Control-M External Java Installation.

Begin

  • Do one of the following:

    • UNIX: Do the following:

      1. Edit the external_java_path.dat file in the <HOME>/BMCINSTALL/ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_SAP_JAVA_HOME to the external Java path.

        CM_SAP_JAVA_HOME=<New_JRE_Path>

        • A relative path is not supported.

        • The path can only include alphanumeric, period, underscore, hyphen and plus characters.

      3. Stop Control-M for SAP using the following command.

        $CONTROLM/cm/SAP/exe/sapcmbe.sh stop

        Control-M for SAP restarts automatically.

    • Windows: Do the following:

      1. Edit the external_java_path.dat file in the <AGENT_HOME>\BMCINSTALL\ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_SAP_JAVA_HOME to the external Java path.

        CM_SAP_JAVA_HOME=<New_JRE_Path>

        • The path must be enclosed with quotation marks.

        • A network path is not supported.

        • A relative path is not supported.

        • The path can only include alphanumeric, space, period, underscore, hyphen and plus characters.

      3. Stop Control-M for SAP using the following command.

        <AGENT_HOME>\cm\SAP\exe\sapcmbe stop

        Control-M for SAP restarts automatically.

Changing the JRE Package in Control-M for Databases

This procedure describes how to change the JRE package in Control-M for Databases. The use of JRE is supported only where the major release version is the same as the tested version. For more information about Java, see Control-M External Java Installation.

Begin

  • Do one of the following:

    • UNIX: Do the following:

      1. Edit the external_java_path_9.0.22.100.dat file in the <HOME>/BMCINSTALL/ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_DB_JAVA_HOME to the external Java path.

        CM_DB_JAVA_HOME={new JRE Path}

        • A relative path is not supported.

        • The path can only include alphanumeric, . (period), _ (underscore), - (hyphen), and + (plus sign) characters.

      3. Stop Control-M for Databases using the following command.

        $CONTROLM/cm/DBCM/exe/cm_container.sh stop

        Control-M for Databases restarts automatically.

    • Windows: Do the following:

      1. Edit the external_java_path_9.0.22.100.dat file in the <AGENT_HOME>\BMCINSTALL\ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_DB_JAVA_HOME to the external Java path.

        CM_DB_JAVA_HOME={new JRE Path}

        • The path must be enclosed with quotation marks.

        • A network path is not supported.

        • A relative path is not supported.

        • The path can only include alphanumeric, space, . (period), _ (underscore), - (hyphen), and + (plus sign) characters.

      3. Stop Control-M for Databases using the following command.

        <AGENT_HOME>\cm\DBCM\exe\cm_container stop

        Control-M for Databases restarts automatically.

Changing the JRE Package in Control-M for PeopleSoft

This procedure describes how to change the JRE package in Control-M for PeopleSoft. The use of JRE is supported only where the major release version is the same as the tested version. For more information about Java, see Control-M External Java Installation.

Begin

  • Do one of the following:

    • UNIX: Do the following:

      1. Edit the external_java_path.dat file in the <HOME>/BMCINSTALL/ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_PSFT_JAVA_HOME to the external Java path.

        CM_PSFT_JAVA_HOME={new JRE Path}

        • A relative path is not supported.

        • The path can only include alphanumeric characters, spaces, ., _, -, and +.

      3. Stop Control-M for PeopleSoft using the following command.

        $CONTROLM/cm/PS8/java/psftcm shut

        Control-M for PeopleSoft restarts automatically.

    • Windows: Do the following:

      1. Edit the external_java_path.dat file in the <AGENT_HOME>\BMCINSTALL\ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_PSFT_JAVA_HOME to the external Java path.

        CM_PSFT_JAVA_HOME={new JRE Path}

        • The path must be enclosed with quotation marks.

        • A network path is not supported.

        • A relative path is not supported.

        • The path can only include alphanumeric characters, spaces, ., _, -, and +.

      3. Stop Control-M for PeopleSoft using the following command.

        <AGENT_HOME>\cm\PS8\java\psftcm shut

        Control-M for PeopleSoft restarts automatically.

Changing the JRE Package in Control-M for OEBS

This procedure describes how to change the JRE package in Control-M for OEBS. The use of JRE is supported only where the major release version is the same as the tested version. For more information about Java, see Control-M External Java Installation.

Begin

  • Do one of the following:

    • UNIX: Do the following:

      1. Edit the external_java_path.dat file in the <HOME>/BMCINSTALL/ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_OEBS_JAVA_HOME to the external Java path.

        CM_OEBS_JAVA_HOME={new JRE Path}

        • A relative path is not supported.

        • The path can only include alphanumeric, period, underscore, hyphen and plus characters.

      3. Stop Control-M for OEBS using the following command.

        $CONTROLM/cm/OEBS/exe/sapcmbe.sh stop

        Control-M for OEBS restarts automatically.

    • Windows: Do the following:

      1. Edit the external_java_path.dat file in the <AGENT_HOME>\BMCINSTALL\ directory.

      2. Define an alternative Java home directory by modifying the value of the parameter CM_OEBS_JAVA_HOME to the external Java path.

        CM_OEBS_JAVA_HOME={new JRE Path}

        • The path must be enclosed with quotation marks.

        • A network path is not supported.

        • A relative path is not supported.

        • The path can only include alphanumeric, space, period, underscore, hyphen and plus characters.