Java 21 Update Planning

The Siebel application now uses Java 21. This means a few things must be done to allow your updated Siebel application to work with Java 21.

Location for third Party .jar Files

For the Configuration Agent (CA) Tomcat to find any third party .jar files that you may be using, they should be placed in this location. No matter where you have been placing them, this is the location for your third party .jar files that do not ship with the Siebel application’s installation.

Note: Before installing any Monthly Update, back up your third-party jar files so they can be easily and safely moved to the below location or any future location that we specify. applicationcontainer_internal/webapps/siebel/WEB-INF/lib

Compatibility of third Party .jar Files

The Siebel CRM installation includes .jar files that have already been compiled using Java 21. It is your third party or custom java classes that must be compiled with Java 21. This means you must re-compile them using the Java 21 JDK. One example of such files is for customers that use third party JMS files with the Siebel application. They started out in the javax package and in 2020 were moved to the jakarta package. They both were compiled and worked with Java 8. To use them with Java 21, you must either obtain the jakarta packaged .jar files compiled with Java 21, or obtain the jakarta packaged java source files and compile them yourselves. There are three situations that require a recompilation of java files.

  1. You have custom java code compiled for using Java 8.

    1. You recompile source code using Java 21 and place the resulting .jars in the applicationcontainer_internal/webapps/siebel/WEB-INF/lib folder.

  2. You have older javax JMS classes that have been compiled using Java 8.

    1. You obtain jakarta JMS source code and compile using java 21 and place the resulting .jars in the applicationcontainer_internal/webapps/siebel/WEB-INF/lib folder.

  3. You have newer jakarta JMS classes and source files.

    1. You recompile the source code using Java 21 and place the resulting .jars in the applicationcontainer_internal/webapps/siebel/WEB-INF/lib folder.

Note: You must have the Java 21 compatible .jar files available in the correct directory before bringing up your Tomcat instance to avoid errors trying to work with incompatible java code.

Server.xml Modifications

The installer will overwrite the server.xml file. If you have customized this file, your changes will be lost.

To modify follow these steps:

  1. Backup the server.xml file prior to starting the installation of the monthly update.
  2. Complete the Monthly Update.
  3. Re-implement your customizations to the server.xml file.
    Note: The installer will attempt to merge the server.xml file that you have and the one coming from the install. But some of the settings that are specific to Tomcat 9 may remain in the server.xml file after the merge. Fort those, make sure they have been changed to the values that support the latest Tomcat version (10) or your server may not start.

AIX considerations for Java 21

  1. Make sure that you are on a version of AIX that is certified with Siebel CRM.
  2. Back up your Zookeeper Registry. (This is the version-2 folder in your Siebel CRM installation.)
  3. Zookeeper must be up and running during the installation as there is a migration utility that must reference the running Zookeeper registry.
  4. Rolling Updates: In a Gateway cluster environment, once you have updated a node, other nodes can continue to function.
    Note: The nodes can only be restarted once they are updated.
    1. Update a node, bring it back up while the others function in a non-updated capacity.
    2. Update the next node and bring it up.
    3. Repeat until each node is updated.
    4. Once any node has been updated and is up and running, do not restart any of the non-updated nodes until they have been updated.
  5. The migration utility will produce a log.

    Before running the migration utility, set the AIX environment variable SBL_AIXMIG_LOG_LEVEL to one of these values ("FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE") depending on your requirements.

    The logs can be found in the <SIEBEL_HOME>/cfgtoollogs folder.

  6. Any class files or third-party files that you use in your CLASSPATH for executing java processes should point to the correct files. Various third-party jar files may have changed their names and when we updated to their latest versions the names of one or more of them may no longer be the same so make sure that your CLASSPATH is referencing the correct files.