CCS Tomcat - How to Upgrade Java 8 to Java 11
search cancel

CCS Tomcat - How to Upgrade Java 8 to Java 11

book

Article ID: 262109

calendar_today

Updated On:

Products

COMMON SERVICES FOR Z/OS

Issue/Introduction

You are running CCS Tomcat and have a need to upgrade from Java 8 to Java 11.

This document will identify the necessary changes within the CCS Tomcat configuration.

Environment

Common Components and Services (CCS) Tomcat

Java 11

Resolution

  1. Update your environment variable configuration member:

    1. Change JAVA_HOME to your Java 11 installation

      E.g.  In TOMENVPR:
      #export JAVA_HOME=/sys/java64bt/v8r0m0/usr/lpp/java/J8.0_64 
      export JAVA_HOME=/sys/java64bt/v11r0m0/usr/lpp/java/J11.0_64
    2. Replace the Java LIBPATH directories:

      Remove: "$JAVA_HOME/lib/s390x" and "$JAVA_HOME/lib/s390x/classic"
      Add: "$JAVA_HOME/lib" and "$JAVA_HOME/lib/j9vm"

      E.g.  In TOMENVPR:
      #LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/lib/s390x:"${CATALINA_HOME}"/lib
      #LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390x/classic
      LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/lib:"${CATALINA_HOME}"/lib
      LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/j9vm
    3. Remove (comment) Djava.endorsed.dirs= from JVM options section

      E.g.  In TOMENVPR:
      #IJO="$IJO -Djava.endorsed.dirs="
      #IJO="${IJO}${CATALINA_HOME}/common/endorsed"

       

  2. Update your startup procedure:

    1. Change the PGM= from JVMLDM86 to JVMLDM16

      E.g.  In TOMCATPR:
      //*  SET VERSION='86'             <== 64-bit JVM (JVMLDM86)
      //   SET VERSION='16'             <== 64-bit JVM (JVMLDM16)
    2. Change the STEPLIB or link to use the V11R0M0 SIEALNKE data set

      E.g.  In TOMCATPR:
      //*STEPLIB  DD DSN=SYS.JAVA64BT.V8.SIEALNKE,DISP=SHR
      //STEPLIB  DD DSN=SYS.JAVA64BT.V11.SIEALNKE,DISP=SHR
  3. (optional) Enable SAF keyring support for Java 11
    1. Confirm/Upgrade JVM to service level 11.0.17.0 or later
      1. Check "release" file in the Java directory
      2. Check JVMJZBL1012I in the Tomcat joblog

    2. Update your server XML file: 
      1. In the <Connector /> block, change IbmX509 to SunX509, and change safkeyring:// to safkeyringjce://
         
         E.g. In TOMSVXML:
         
        <!-- Define a SSL HTTP/1.1 Connector on port 8443 using SAF keyring -->                                                                  
        <Connector port="${connector.ssl.port}" maxHttpHeaderSize="8192"    
              maxThreads="150" minSpareThreads="25" maxSpareThreads="75"    
              enableLookups="false" disableUploadTimeout="true"              
              SSLEnabled="true"                                              
              algorithm="SunX509"                                            
              acceptCount="100" scheme="https" secure="true"                
              clientAuth="false" sslProtocol="TLS"                          
              sslEnabledProtocols="+TLSv1.3,+TLSv1.2,+TLSv1.1,+TLSv1"        
              keystoreType="JCERACFKS"                                      
              keystoreFile="safkeyringjce://KEY_RING_OWNER/KEY_RING_NAME"      
              sslImplementationName="com.ca.sslsocket.CASSLImplementation" />

Additional Information

Tomcat v9 supports Java 8 and higher