Update the Server Side Version of Java

Overview

Percussion CM System uses Java technologies on the server for the application server and on client desktops to run features like the Content Explorer. For consistency in customer experience, Percussion server products ship with a bundled Java Runtime.

This document covers the server-side Java versions that are included with Percussion product versions, and includes a manual procedure for updating the version of Java in a supportable fashion for customers that have that requirement.   

When applying a Java update to CM System, a general rule is that the product will be compatible with patch releases on the minor version of Java shipped.  For example, CM System 7.2.0 shipped with Java 1.6.0 Update 25. This means that the CM System server would compatible with version 1.6.0 Update 43, but not with Java 1.7.0.   

It is important to note that the server-side version of Java has nothing to do with the version of Java that run on end-user desktops or workstations.

 

CM System - Server Java Version

Product

Version

Server Java Version

Latest Patched Java Version

Recommendation

CM System

7.2.0

1.6.0_25-b06

Java SE Development Kit Downloads

  • Update Java

CM System

7.1.0

1.6.0_25-b06

Java SE Development Kit Downloads


  • Upgrade to 7.2.0

  • Update Java

CM System

7.0.3

1.6.0_25-b06

Java SE Development Kit Downloads

  • Upgrade to 7.2.0

  • Update Java

CM System

6.7

1.6.0_13-b03

Java SE Development Kit Downloads

  • Upgrade to 7.2.0

  • Update Java

Rhythmyx

6.5.2

1.5.0_12-b04

Java SE Development Kit 5.0u22

  • Upgrade to 7.2.0

Rhythmyx

5.71

1_42_90

N/A

  • Upgrade to 7.2.0

 

64-bit versus 32-bit Java

CM System ships with support for 32-bit Java on Linux and 32 or 64-bit Java on Windows.  Customers wishing to convert an existing installation from 32-bit to 64-bit may do so by selecting the corresponding 64-bit Java version when downloading the update from Oracle.   When installed correctly there should be 4 directories containing the JRE.

 

JRE

JRE64

JRE-SHIPPED

JRE64-SHIPPED

 

NOTE:  The server and operating system that CM System is installed on must support 64-bit.  Downloading 64-bit Java onto a 32-bit operating system will not work.

 

Note about 64-bit Java on Linux

64-bit support on Linux should be considered experimental as the product does not ship with a 64-bit version for Linux. Functionally however, this should work fine.   Support for 32-bit libraries must be installed on the 64-bit Linux server.  On Ubuntu systems for example, this is done with the IA32-libs or Multi Arch package.  This is needed so that the binaries launchers like RhythmyxDaemon can execute.  

 

The known incompatibilities with the 64-bit JRE and Rhythmyx on Linux are:

  • The Content Explorer revision compare tool does not function

  • Workbench requires the 32-bit JRE

 

With 64-bit support enabled, the memory set aside for Rhythmyx can be increased to utilize the total amount of RAM available on the server and is no longer limited to the 2 GB range.

 

How to Update the Shipped JRE

The JRE and JRE64 directories off of the install root contain the Java Runtime. 64-bit Java is installed to the JRE64 folder, 32-bit Java is installed in the JRE folder.   For customers updating from 32-bit to 64-bit for the first time use JRE64 for the folder name for the 64-bit JRE and JRE for the 32-bit JRE.

Updating the JRE

  1. Download the latest JDK 1.6 updates from Oracle that is appropriate for your platform.  This must be a JDK download and not the JRE as the application server uses the Java compiler at run-time.

For example: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u43-oth-JPR

  1. Shutdown CM System and shutdown any running tools like MSM, Work Bench, or Server Administrator.

  1. Rename the existing <Rhythmy Install Dir>/JRE directory to <Rhythmy Install Dir>/SHIPPED-JRE  The purpose of this step is to provide the ability to roll back to the shipped version in the event of an incompatible Java update, or when troubleshooting problems with Technical Support.

  1. Run the Oracle installer for the JDK, pointing the installation to <Rhythmy Install Dir>/JRE (NOTE: on Linux systems the JRE is typically extracted to a sub-directory and will need to be moved up a level after the install).

    1. Confirm that Java was installed correctly by opening a command prompt or shell and changing to the <Rhythmy Install Dir>/JRE/bin directory.

    2. Run <Rhythmy Install Dir>/JRE/bin/javac -version to confirm that java was successfully installed. For example: C:\>c:\percussion\rhythmyx\JRE64\bin\javac -version javac 1.6.0_43

  1. Verify the server lax files point to the correct  <Rhythmy Install Dir>/JRE location. The LAX files are located in <Rhythmy Install Dir>.  Windows installations may contain LAX files for the developer and server tools as well. Open each file in a text editor and search for JRE or JRE64,  confirm that references to the JRE to point to the new JRE and  JRE64 directory that you just created.  

    1. RhythmyxServer.bin.lax or RhythmyServer.lax

    2. RhythmyxMultiServerManager.lax

    3. RhythmyxServerAdministrator.lax

    4. RhythmyxServerPropertiesEditor.bin.lax or RhythmyxServerPropertiesEditor.lax

    5. RhythmyxWorkbench.lax (Requires 32-bit JRE)

    6. Synchronizer.bin.lax or Synchronizer.lax

  2. Copy any customizations/configurations made to the stock SHIPPED-JRE into the new updated folder.  This may include security policy updates, cacerts, keystore files, etc.

  1. Linux users upgrading to a 64-bit JRE will need to modify an additional file.  Edit the sys_library_loader.xml file and comment out the sections for Linux and Unix.  These native libraries are used by the Compare Tool and initial product installer.  

  2. Restart CM System and confirm the new Java version in the server startup log.  Watch the startup log for any unexpected errors.  Should unexpected errors occur, shutdown the server and reverse the steps, ending by renaming the JRE-SHIPPED folder to JRE and restart the server. Report any unexpected errors to the support forum at forum.percussion.com and to Technical Support.

Frequent Questions

Can I use any JDK version, like Open JDK or do I have to use Oracle’s?

In order for Technical Support to provide support for updated Java runtimes on customers servers the JDK must be an official Oracle JDK.

 

Will this affect the Java applet?

No.  This update only effects the server.

 

Can I use JDK 1.7?

No.  Oracle made some changes in 1.7 that require core Rhythmyx code to be updated before the 1.7 JDK can be supported.

 

Rhythmyx is getting flagged by an I.T. security scan on my network for a Java version vulnerability, is there a patch?

No there is not a Patch.  You can follow the procedure outlined in this document to remedy the security flag by updating to the latest Oracle patched version of the Java Runtime.

 

How can it support 64 bit if the binaries like RhythmyxDaemon are still 32-bit?

The binaries shipped are very light weight launcher scripts responsible for spawning batch files and shell scripts that fork and manage the actual Java server.  As a result, 32-bit executables can launch the 64-bit java process.

 

Are there recommended options for Garbage collection for 64-bit servers?

The -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent Garbage collection settings should prevent the server from experiencing long delays while running memory garbage collection at high heap memory settings.

Leave a comment

*
*