Versions Compared

Key

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

...

  1. Ensure that the memory settings for Java are set correctly in STR.

    Platform

    Default settings when using an Oracle database:

    Code Block
    languagetext
    themeEclipse
    $ mzsh topo set topo://container:<container>/pico:platform/obj:config.jvmargs \
    'xmx:["-Xmx1024M"]
    xms:["-Xms128M"]
    maxMetaspace:["-XX:MaxMetaspaceSize=256M"]

    Default settings when using a Derby database:

    Code Block
    languagetext
    themeEclipse
    $ mzsh topo set topo://container:<container>/pico:platform/obj:config.jvmargs \
    'xmx:["-Xmx1024M"]
    xms:["-Xms192"]
    maxMetaspace:["-XX:MaxMetaspaceSize=256M"]


    EC/ECSA

    Default settings:

    Code Block
    languagetext
    themeEclipse
    $ mzsh topo set topo://container:<container>/pico:<pico-name>/obj:config.jvmargs \
    'xmx:["-Xmx256M"]
    xms:["-Xms64M"]
    maxMetaspace:["-XX:MaxMetaspaceSize=196M"]
    maxDirect:["-XX:MaxDirectMemorySize=4096M"]
    args : ["-server"]'


     

  2. Install the new JDK. Do not remove the old version.

  3. ECSAs can be disconnected from the Platform. This allows workflows and services to continue processing throughout the Java change procedure. The downtime of the workflows will be minimized to the restart of the ECSAs.

    However, there are certain prerequisites that need to be fulfilled in order to do this:
    - The traffic protocol must support failover.
    - You cannot keep Standalone Execution Contexts running when there have been changes in the storage models for Aggregation, Inter Workflow, Usage Management, PCRF, or Routing Control.

    For information about changes in the storage models, see the Release Notes.

    For more details about these prerequisites, see the System Administrator's Guide.

    To disconnect the ECSAs, run the following command:

    Code Block
    themeEclipse
    $ mzsh mzadmin/<password> disconnect <ecsa_name> ...


    Note
    titleNote!

    Disconnected Standalone Execution Contexts may still attempt to contact the Platform. These attempts will fail and case warning messages (No open connection to <Platform host>) in the <ecsa name>.log. Ignore these warning messages.


  4. Disable all workflow groups from the Execution Manager in Desktop, or by entering an mzsh command, for example:

    Code Block
    themeEclipse
    $ mzsh mzadmin/<password> wfgroupdisable \*


    Note
    titleNote!

    If you use the wfgroupdisable command, make sure that you enable all system tasks again when you are done.


  5. Stop all workflows that are not disconnected and let them finish execution.

  6. Ensure that all users shut down any connected Desktops.

    If you want to see which Desktops that are connected, you can use the following command:

    Code Block
    themeEclipse
    $ mzsh mzadmin/<password> pico -view


    Note
    titleNote!

    This command will also display other pico instances, such as Execution Contexts.


  7. Shut down the Platform and all EC and ECSAs that have not been disconnected.

    Code Block
    themeEclipse
    $ mzsh shutdown Platform <ec_name>


  8. If you have set the environment variable JAVA_HOME, change it to the install path of the new JDK. Se the variable in both in the current shell and in the login script. This is only required if you want to override the default value in the mzsh script.

    Info
    titleExample - Setting JAVA_HOME in the shell


    Code Block
    export JAVA_HOME="/usr/lib/jvm/open-jdk"



  9. Set  JAVA_HOME in MZ_HOME/bin/mzsh to the install patth of the new JDK.

    Info
    titleExample - Setting JAVA_HOME in mzsh


    Code Block
    $ mzsh topo env --update-java-home "/usr/lib/jvm/open-jdk"



  10. Start the Platform and EC/ECSAs.

    Code Block
    themeEclipse
    $ mzsh startup Platform <ec_name>


  11. Start the real-time workflows.

  12. Enable the workflow groups.

 


Execution Container

To change Java version on an Execution Container:

  1. Install the new JDK. Do not remove the old version.

  2. If you have set the environment variable JAVA_HOME, change it to the install path of the new JDK. Se the variable in both in the current shell and in the login script. This is only required if you want to override the default value in the mzsh script.

    Info
    titleExample - Setting javahome


    Code Block
    languagetext
    themeEclipse
    javahome="/usr/lib/jvm/open-jdk"



  3. Set  JAVA_HOME in MZ_HOME/bin/mzsh to the install patth of the new JDK.

    Info
    titleExample - Setting JAVA_HOME in mzsh


    Code Block
    $ mzsh topo env --update-java-home "/usr/lib/jvm/open-jdk"



  4. Restart the disconnected ECSAs and start the real-time workflows. In order to minimize downtime, restart the disconnected ECSAs one by one. 

    To stop running real-time workflows and restart an ECSA:

    Code Block
    languagetext
    themeEclipse
    $ mzsh shutdown <ecsa name> 
    $ mzsh startup -f <ecsa name>


  5. Start the workflows on the restarted ECSAs.

...

  1. Shut down all connected Desktops.
     
  2. Uninstall the existing JDK or JRE.
     
  3. Install the new JDK or JRE.
     
  4. Set the environment variable JAVA_HOME to the install path of the new JDK/JRE.
     

Scroll ignore
scroll-viewportfalse
scroll-pdftrue
scroll-officefalse
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse


Next:



Scroll pagebreak