In this article
The Snaplex Linux installers include a bundled OpenJDK-based JRE 11 distribution. You can follow the instructions in this document to change the Java version on your Linux and Windows instances. You might need to change the Java version to update the JRE in order to receive security and functionality fixes in the newer JRE distribution. Even if your organization has a license for a different JRE distribution, you can use the procedure in this article to configure the Groundplex to use the said JRE.
We support only Java 11-based distributions. Java 8 or earlier versions are not supported.
JRE Version Update Process
To update the JRE version on your Groundplex node:
- Start the upgrade process on your development and testing Orgs.
- Verify the functioning of your Pipelines in the development Orgs and then update the JRE version on the production Orgs.
- Switch the nodes that you want to upgrade to Maintenance mode. This allows running Pipelines to complete executing before the upgrade is done.
- When upgrading multiple nodes, we recommend that you upgrade one node at a time.
- New Pipelines are not sent to the JCC node in Maintenance mode.
Updating JRE Version by Installing a New SnapLogic RPM/DEB on Linux
To update the JRE version:
- Download the new Snaplex installer and , running the RPM, DEB, or Docker installersas appropriate.
- For RPM systems, run the following command:
rpm -U --force <your snaplex file>.rpm
- For DEB systems, run the following command:
dpkg -i <your snaplex file>.deb
- For Docker, stop the existing container and start a new container using the latest image.
- Start the JCC node by running the following command:
$ sudo /opt/snaplogic/bin/jcc.sh start.
The Snaplex will start with the JRE bundled along with the SnapLogic installer.
Configuring a Custom JRE Version
The Snaplex installer defaults to
openjdk-11.0.12+7-jre. To update to a JRE installed at another location, create a file
SL_JAVA_HOME pointing to the desired JRE location.
To create the
/etc/sysconfig directory and
/etc/sysconfig/jcc file as well as grant read permissions to all users, run the following :
sudo mkdir -p /etc/sysconfig; sudo sh -c "echo 'export SL_JAVA_HOME=/opt/snaplogic/pkgs/jdk-11.0.12+7-jre/' >> /etc/sysconfig/jcc"
SL_JAVA_HOME in the above command to point to the custom JRE location as needed.
Updating Java on Windows
To update the Java version on Windows:
- In the Windows command prompt, stop the JCC node by running the following command:
This step is required if there is an existing Snaplex installation on the node.
- Download and install the Adoptium's OpenJDK-based Java 11 installer.
- Update the c
:\opt\snaplogic\bin\cc.bat fileand the JAVA_HOME to point to the location of the Java 11 installation.
- Start the JCC nodes:
If you are running the Snaplex as a service, run the following commands:
Run the following command:
After you configure Java, go to the SnapLogic Dashboard and verify that the Additional Information dropdown list displays the Java version as 11.0.12+7 or higher.
Snaplex Node Customizations
When updating the Java version on a node or when adding a new node to a Snaplex, any customizations done on the node will have to be manually copied over, the following:
- Custom trust store entries: The JRE uses a cacerts trust store file at <JAVA_HOME>/lib/security/cacerts that has the trusted root certificates. If there are Snap endpoints that are using certificates signed by other providers, then the providers need to be added toacerts file. The update needs to be done every time the JRE version is updated or when a new node is being provisioned.
- ulimit changes: If the file and process limits are customized, then the changes have to be applied again when a new node is being provisioned to the Snaplex.
- Custom binaries: Some Snaps require customer binaries to be installed on the Snaplex node, like native libraries for SAP and bulk loading tools for database Snaps. These changes have to be applied manually when a new Snaplex node is being provisioned.
If you are using configuration management tools like Puppet/Chef/Ansible, then making these changes in the IAC configuration ensures that new node provisioning is automated.