Implementing OpenJDK with XCOM for Linux (and Windows)
search cancel

Implementing OpenJDK with XCOM for Linux (and Windows)

book

Article ID: 222270

calendar_today

Updated On:

Products

XCOM Data Transport - Linux PC XCOM Data Transport XCOM Data Transport - Windows

Issue/Introduction

Currently using XCOM for Linux 11.6 SP01.
How does XCOM use Java internally and is it possible to use OpenJDK instead of the version of Oracle Java that XCOM installs ?

Environment

  • CA XCOM Data Transport for Linux PC
  • XCOM Data Transport for Linux PC
  • CA XCOM Data Transport for Windows
  • XCOM Data Transport for Windows

Resolution

In the latest XCOM for Linux release 12.0, XCOM supports OpenJDK and and has stopped redistributing Oracle Java with product installations.

For both versions 11.6 and 12.0, XCOM does not use Java in its core functionality for the transfer of data between systems but does use it in some features. See article: Where does XCOM use Java
So per that article post-install even if not using the XCOM features which require Java like the GUI, XCOM still needs Java to apply/uninstall maintenance or uninstall the product.

XCOM for Linux 11.6 SP01 
Switching to OpenJDK for is now is possible and is supported. IMPORTANT: Use only  Java 8 (1.8.xxx)  which have been tested with XCOM. Avoid higher major versions (Java 11 or later) that may pose problems.

Two changes are required:

  1. Update XCOM_JVM in the $XCOM_HOME/config/xcom.glb file to the OpenJDK libjvm.so shared library file. A restart of xcomd will be required as always when there is any change to the xcom.glb file.
  2. Create a new environment variable XCOM_JAVA_HOME pointing to the OpenJDK jre directory so that StandaloneUI.sh will be able to pick up OpenJDK to launch the XCOM GUI. 

NOTE:  For any release where XCOM has installed Oracle Java, the Uninstaller looks for Java at the same location as the Installer and removing the supplied $XCOM_HOME/JRE directory can therefore cause problems with Uninstalling the product. So, it is suggested to just "archive" $XCOM_HOME/JRE in case a clean up of the install directory is required for whatever reason.

XCOM for Linux does 12.0
XCOM for Linux 12.0 no longer installs Oracle Java and installing OpenJDK prior to the XCOM install is a requirement (Address Software Requirements)
A change of Java version post-install can be done using the steps:
a. Update XCOM_JVM in the $XCOM_HOME/config/xcom.glb file to the new location of the OpenJDK libjvm.so shared library file. A restart of xcomd will be required as always when there is any change to the xcom.glb file.
b. Update the environment variable XCOM_JAVA_HOME pointing to the OpenJDK jre directory.

Additional Information

1. The above advice for XCOM for Linux 12.0 is also valid for XCOM for Windows where, as of 11.6 SP03, Oracle Java is not installed with XCOM and installing OpenJDK prior to the XCOM install is a requirement. The relevant doc. pages for changing the version of Java post-install are:
11.6: How to Update Java Version to Latest Level Post-Installation
12.0: Change the Java Path

2. There are no restrictions on which Open Java 8 version can be used. There are multiple providers building Open Java 8 and distributing it e.g.
OpenJDK: Welcome to OpenJDK 8 Updates! 
Eclipse Adoptium project: Eclipse Temurin™ Latest Releases (this site is referenced by Microsoft Open JDK because their Java version 8 is not available any more)