Upgrade Steps for Java and Oracle WebLogic Server Installation

The upgrade includes the following phases:

  1. Pre-upgrade: The application is running.

  2. Pre-undeploy: The application is stopped but not undeployed.

  3. Post-undeploy: The application is undeployed and the database is backed up.

  4. Post-upgrade: The release upgrade script has completed.

  5. Post-deploy: The new application is deployed and running.

Performing Post-Undeploy Tasks

  1. To upgrade to Java 21 and WebLogic Server 15.1.1.0:

    1. Install the latest Java 21 (21.0.6 or later).

    2. Install WebLogic 15.1.1.0.0, ensuring you use the Generic Installer for Oracle WebLogic Server and Oracle Coherence.

    3. Install the mandatory patches as mentioned in the Required Software.

    4. Stop the Managed Servers, Admin Server, and Node Manager in the existing WebLogic 14.1.1.0.0 domain.

    5. Take a backup of the existing domain directory.

      • Set JAVA_HOME to Java 21 before upgrading the existing domain using the configuration wizard.

      • See WebLogic Server Upgrade documentation for more information on upgrading WebLogic Server.

  2. Review any additional configuration and JAVA_OPTIONS from the existing domain, such as changes made to startWebLogic.sh, and applying the same changes in the upgraded domain.

    1. The startWebLogic.sh script is not automatically preserved in the upgraded domain and must be manually updated after the upgrade.

    2. Java 21 introduces additional restrictions that can affect third-party libraries such as Chronicle Queue that use reflection to access private members. To maintain compatibility, update the startWeblogic.sh script with the following Java options in each managed server:

      --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED
  3. The CustomIdentityAsserter must be manually updated in the ORACLE_HOME directory. To update the CustomIdentityAsserter, refer to the CustomIdentityAsserter Specific Properties section in Install and Configure Oracle WebLogic in the Installation Guide.

  4. Install WebLogic Remote Console locally (On Premise Only) to manage the application. For more information, see Oracle WebLogic Remote Console documentation.

Do not to use the default keystore from JAVA_HOME. If you previously referenced keystore files from the old JAVA_HOME, you must import the credentials into the new JAVA_HOME (Java 21) to ensure compatibility and security.

Performing Post-Upgrade Tasks

To update the logback.xml configuration to replace deprecated rolling policy classes to avoid deprecation warnings and ensures compatibility with current Logback and Java 21 standards, follow these steps in logback.xml:

  1. Replace the class ch.qos.logback.core.rolling.TimeBasedRollingPolicy with ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy.

  2. If present, remove the <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFileNamingAndTriggeringPolicy"> element along with its corresponding closing tag </timeBasedFileNamingAndTriggeringPolicy>.

Example:

Replace

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>target/ohiSecurity-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFileNamingAndTriggeringPolicy">
        <maxFileSize>100MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>

With

<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    <fileNamePattern>target/ohiSecurity-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <maxFileSize>100MB</maxFileSize>
</rollingPolicy>

Common Issues During Upgrade

  1. The startWebLogic.sh script is not automatically preserved in the new domain and must be manually updated after the upgrade.

  2. Failure to start domain with BEA-149205 and AbstractMethodError:

    • Symptom: <Deployer> <BEA-149205> <Failed to initialize the application "bea_wls_internal" due to error weblogic.application.ModuleException: java.lang.AbstractMethodError>.

    • Cause: The old CustomIdentityAsserter JAR is incompatible with Java 21.

    • Resolution: Remove the JAR file and its related entries in config.xml and restart the server.

  3. PKIX Path Building Failed (Self-Signed Certificate) When starting managed nodes, if the following error is encountered:

    • Symptom: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

    • Cause: The on-premises environment uses a self-signed SSL certificate that is not trusted by Java, as it is not present in the Java cacerts truststore.

    • Resolution: Import the self-signed certificate into the Java cacerts keystore.

  4. During the upgrade, if a 'config.xml is not valid' error is encountered:

    • Cause: The CustomIdentityAsserter JAR was not copied to the new (fwm15110) installation.

    • Resolution Options: + Remove the <sec:authentication-provider …​></sec:authentication-provider> entry related to the CustomIdentityAsserter from config.xml. + Copy the CustomIdentityAsserter JAR to the fwm15110 installation.