Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this article

Table of Contents
maxLevel3

Overview

The Snaplex Linux installers include a bundled OpenJDK-based JRE 11 distribution. You can follow the instructions in this document to configure change the Java 11 version on your Linux and Windows Snaplex instances. Starting with the 4.24 release (February 2021), Snaplex instances on Java 8 will stop working.  

Java Version Configurability

When you install a Groundplex using the new RPM/DEB installer or a Docker container, it defaults to Java 11. While we ship Java 11 with the Snaplex for Linux users, Windows users must manually update to Java 11.  

Note
titleExisting Customizations on Linux/Windows
  • For existing custom Groundplex instances, you must reapply the customizations after upgrading to Java 11.
  • To use custom truststore entries, you should back up the /opt/snaplogic/pkgs/jre1.8.0_162/lib/security/cacerts file and copy any additional custom truststore entries to the /opt/snaplogic/pkgs/jdk-11.0.8+10-jre/lib/security/cacerts file using the keytool utility. 
Info
titleRolling Back your Version of Java

As of the 4.24 release (February 2021), we do not support rolling back to Java 8.

Upgrade Process

To upgrade your Groundplex to Java 11:

...

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.

Note

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:

  1. Start the upgrade process on your development and testing Orgs.

  2. Verify the functioning of your Pipelines in the development Orgs and then upgrade update the JRE version on the production Orgs to Java 11.

  3. Switch the nodes that you want to upgrade into to upgrade to Maintenance mode. This allows running Pipelines to complete execution executing before the upgrade startsis done.
Note
  • When upgrading multiple nodes, we recommend that you to 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 switch existing nodes to OpenJDK Java 11update the JRE version:

  1. On the Linux terminal, stop the existing JCC node by running the following command:
    $ sudo /opt/snaplogic/bin/jcc.sh stop

  2. Download the new Snaplex installer and install the Groundplex, running the RPM, DEB, or Docker installers as appropriate.
    • For RPM systems, run the following command:
      rpm -U --force snaplogic-<your snaplex file>.rpm
    • For DEB systems, run  the following command:
      dpkg -i snaplogic-<your snaplex file>.deb
    • For Docker, stop the existing container and start a new container using the latest image.

  3. Start the JCC node by running the following command:
    $ sudo /opt/snaplogic/bin/jcc.sh start.

The installation folder has two packages for Java 11 and Java 8 (in case a rollback is required)The Snaplex will start with the JRE bundled along with the SnapLogic installer. 

Configuring a

...

Custom JRE

...

Version

The Snaplex installer defaults to openjdkopenjdk-11.0.812+107-jre. To change the versionupdate to a JRE installed at another location, create a file /etc/sysconfig/jcc with 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 command:

Code Block
languagejava
sudo mkdir -p /etc/sysconfig; sudo sh -c "echo 'export SL_JAVA_HOME=/opt/snaplogic/pkgs/jdk-11.0.812+107-jre/' >> /etc/sysconfig/jcc"

...


Note

Change SL_JAVA_HOME in the above command to point to the custom JRE location as needed.

Updating Java on Windows

To switch to update the Java 11 version on Windows: 

  1. In the Windows command prompt, stop the JCC node by running the running the following command:
    c:\opt\snaplogic\bin\jcc.bat stop

    This step is required if there is an existing Snaplex installation on the node.

  2. Download the new installer Zip and extract the contents to the following location:
     c:\opt\snaplogic

  3. Download and install the Adoptium's OpenJDK-based Java 11 installer.

  4. Update the cUpdate the c:\opt\snaplogic\bin\jcc.bat file and update the JAVA_HOME to update the JAVA_HOME to point to the location of the Java 11 installation.

  5. Start the JCC nodes:
    1. If you are running the Snaplex as a service, run the following commands: 
      jcc.bat remove_service
      jcc.bat install_service


    2. Run the following command:

      c:\opt\snaplogic\bin\jcc.bat start

After you configure Java, go to the SnapLogic Dashboard and verify that the Additional Information dropdown  dropdown list displays the Java version as as 11.0.812+107 or higher.

Support Plan

Java 8 is no longer supported. Snaplex nodes running Java 8 will fail to upgrade to the 4.24 release (February 2021), and an error will appear in the jcc_ouptut.log. All nodes must be upgraded to Java 11 for your Snaplex instances to upgrade successfully.

Java 11 Support FAQs 

How is Java 11 supported in the SnapLogic Platform?

The current Snaplex Linux installers have a bundled JRE 11 distribution, and Groundplex instances are installed with JRE 11.

Is Java 8 still supported?

...

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, including 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 to the cacerts 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.