(Cluster) Configuring your existing clustered environment to use Java 8

You need to configure the following files to update an existing WebSphere Commerce cluster to use IBM SDK, Java Technology Edition, Version 8.

Important: If you need to continue to receive support for WebSphere Application Server, you must upgrade to WebSphere Application Server to version 8.5.5 with Java 8. Earlier versions of WebSphere Application Server are no longer supported. You can only update to use IBM SDK, Java Technology Edition Version 8 if your existing WebSphere Commerce runtime instance is on WebSphere Commerce version 7 Feature Pack 6, 7, or 8, and has Fix Pack 9 installed. For information about updating to Feature Pack 8, see Installing WebSphere Commerce feature packs.

Before you begin

  1. Install WebSphere Application Server V8.5.5 with Java 8
  2. Migrate from your previous version of the IBM HTTP Server.

Procedure

  1. Stop all WebSphere Commerce servers.
  2. Migrate your WebSphere Commerce cluster and search cluster environments.
  3. For each existing WebSphere Commerce instance, complete the following steps.
    1. Open the following file.
      WC_installdir/instances/instance_name/xml/instance_name.xml
    2. Search and replace all occurrences of WC_instance_name.ear with the WC_instance_name.ear directory for WebSphere Application Server Version 8.5.
      For example, search for
      WAS7_installdir/profiles/profile_name/installedApps/WC_instance_name_cell/WC_instance_name.ear
      Replace all instances with
      WAS85_installdir/profiles/profile_name/installedApps/WAS85_CellName/WC_instance_name.ear
    3. Save the changes.
  4. Complete the following steps for the WebSphere Commerce product.
    1. Open WC_installdir/xml/product.xml in a text editor.
    2. Replace the WebSphere Application Server Version 7.0 installation path with the WebSphere Application Server Version 8.5 installation path for the following entries.
      • WebSphere Application Server
      • IBM JDK
      For example, search for occurrences of WAS7_installdir and replace it with WAS85_installdir.
    3. Search and replace all instances of the old IBM HTTP Server V7 installation path with the new IBM HTTP Server V8.5 installation path.
    4. Save the file.
  5. Update the setenv utility script.
    1. Open the following file in a text editor.
      • SolarisAIXWC_installdir/bin/setenv.sh
      • WindowsWC_installdir/bin/setenv.bat
    2. Replace all occurrences of the WebSphere Application Server Version 7.0 installation path with the WebSphere Application Server Version 8.5 installation path in the following fields.
      • JAVA_HOME
      • WAS_HOME
      • WAS_PLUGIN_HOME
    3. SolarisLinuxAIX Search for export WAS_HOME, then add the following lines of code after export WAS_HOME.
      REPLACE_WAS_HOME=$WAS_HOME
      export REPLACE_WAS_HOME
      The following is an example of the updated code.
      export WAS_HOME
      REPLACE_WAS_HOME=$WAS_HOME
      export REPLACE_WAS_HOME
      
      # The following was added by an install action during fix pack install
      CURDIR=`pwd`
      cd $WAS_HOME/bin
      if [ "$OS_NAME" != "OS400" ]; then
      JVM_EXTRA_CMD_ARGS=`(. $WAS_HOME/bin/setupCmdLine.sh ' ';echo $JVM_EXTRA_CMD_ARGS)`
      else
      JVM_EXTRA_CMD_ARGS=`(. $WAS_HOME/bin/setupcmdline ' ';echo $JVM_EXTRA_CMD_ARGS)`
      fi
    4. SolarisLinuxAIX Add the following WAS_ENDORSED_DIRS_JDK8 variable.
      WAS_ENDORSED_DIRS_JDK8=$WAS_HOME/endorsed_apis:$WAS_HOME/runtimes/endorsed
    5. SolarisLinuxAIX Add -Djava.endorsed.dirs path to JAVA_EXE.

      JAVA_EXE="$JAVA_HOME/bin/java $JVM_EXTRA_CMD_ARGS -DWAS_HOME=$WAS_HOME -DWAS_INST=$WAS_INST -DWAS_PLUGIN_HOME=$WAS_PLUGIN_HOME -Djava.endorsed.dirs=${WAS_ENDORSED_DIRS_JDK8} "

    6. Save and close the file.
  6. SolarisLinuxAIX Update the wcnonroot script.
    1. Open the WC_installdir/bin/wcnonroot.sh script in a text editor.
    2. Search and replace all occurrences of the WebSphere Application Server Version 7.0 installation path with the WebSphere Application Server Version 8.5 installation path in the WASDIR section.
    3. Search and replace all instances of the old IBM HTTP Server installation path with the new IBM HTTP Server installation path in the following fields.
      • WEBDIR
      • WEBCONFDIR
      • WEBCONFILE
    4. Save the file.
  7. Complete the following steps for each WebSphere Commerce instance that exists.
    1. Open the WC_installdir/instances/instance_name/httpconf/httpd.conf file in a text editor and change the following lines.
      ServerRoot
      Replace the old IBM HTTP Server installation path with the new IBM HTTP Server installation path.
      was_ap22_module
      Replace the module path under the old plug-in file path with the one in new plug-in file path.
      For example, replace <plugin7_installdir>/bin/mod_was_ap22_http.so with <plugin85_installdir>/bin/64bits/mod_was_ap22_http.so
      WebSpherePluginConfig
      Replace the old plug-in file path with new plug-in file path.
      Ensure that the httpd.conf file contains the correct locations to any other WC_instance_name.ear files that you might have previously configured.
    2. Open the WC_installdir/instances/instance_name/search/solr/home/httpconf/httpd.conf file a text editor and change the following lines.
      ServerRoot
      Replace the old IBM HTTP Server installation path with the new IBM HTTP Server installation path.
      was_ap22_module
      Replace the module path under the old plug-in file path with the one in new plug-in file path.
      For example, replace <plugin7_installdir>/bin/mod_was_ap22_http.so with <plugin85_installdir>/bin/64bits/mod_was_ap22_http.so
      WebSpherePluginConfig
      Replace the old plug-in file path with new plug-in file path.
      Ensure that the httpd.conf file contains the correct locations to any other WC_instance_name.ear files that you might have previously configured.
    3. Open the WC_installdir/instances/instance_name/properties/createInstance.properties file and update the WebSphere Application Server information.
      • WASInstallDir=WAS85_installdir
      • WASUserInstallDir=WAS85_installdir
      • WASProfileTemplatePath=WAS85_installdir/profileTemplates/default
      • EARPath=WAS85_installdir/profiles/profile_name/installedApps/cell_name/WC_instance_name.ear
      • WASProfilePath=WAS85_installdir/profiles/profile_name
      • WASCellName=WAS85_CellName
      • WASNodeName=WAS85_NodeName
      • webserverInstallDir=IHS85_installdir
      • webserverInstallLocation=IHS85_installdir
      • pluginInstallLocation=plugin85_installdir
  8. Enable the Web Server plugin to accept SSL/TLS communications for both WebSphere Commerce web server and Search web server.
    1. Log in to the WebSphere Application Server Version 8.5 Administrative Console.
    2. b. Click Servers > WebServer > web_server_name > > Plug-in properties > Custom properties.
    3. Click New to create a new custom property.
    4. Enter the value of UseInsecure for the Name field and true for the Value field.
    5. Click Save at the top of the page to save the changes to the master configuration.
  9. Regenerate the Web server plug-in configuration file for the WebSphere Commerce server and Search server.
    1. Click Servers > WebServer > web_server_name.
    2. Click Generate Plug-in.

      Keep the Administrative console open. You will come back to it.

  10. Ensure that the httpd.conf file is correctly updated with the correct location for the plugin-cfg.xml.
  11. Update the WebSphere Commerce EAR.
    1. In a command line interface, go to WC_installdir/bin.
    2. Run the following command to update the EAR.
      • SolarisLinuxAIX
        ./config_ant.sh -DinstanceName=instance_name UpdateEAR
      • Windows
        ./config_ant.bat -DinstanceName=instance_name UpdateEAR
  12. Go back to the Administrative Console and update classload mode for the WC application.
    1. Click Applications > Application Types > WebSphere enterprise applications > WC_application_name > Class loading.
    2. Update detection to access the settings page for an application class loader.
    3. Select Classes loaded with local class loader first (parent last) for Class loader order.
    4. Save your changes and ensure that the changes are synchronized with the master repository.
  13. Add a custom JVM property org.apache.el.parser.SKIP_IDENTIFIER_CHECK with value "true" on the WebSphere Commerce server.
    1. Click Servers > Server Types > WebSphere Application Servers > server_name > Java and Process Management > Process Definition > Java Virtual Machine > Custom Properties.
    2. Click New to create a custom property definition.
    3. Enter org.apache.el.parser.SKIP_IDENTIFIER_CHECK in the Name field.
    4. Enter true in the Value field.
    5. Click OK.
    6. Save your changes and ensure that the changes are synchronized with the master repository.
  14. SolarisLinuxAIXRun the following command to update the file permissions of our application.
    • WC_installdir/bin/wcnonroot.sh
  15. Update Search server properties.
    1. Feature Pack 7 or later Open the WC_installdir/instances/instance_name /search/commerce/properties/searchServer.properties file.
    2. Feature Pack 7 or later Replace the old searchWASProfilePath with the new searchWASProfilePath.
    3. Open the WC_installdir/bin/di-buildindex.sh file.
    4. Search for the string "$MORE_CLASSPATH", and then insert one of the following class paths before the string.
      • Feature Pack 6WC_eardir/lib/slf4j-api-1.6.1.jar:WC_eardir/lib/slf4j-jdk14-1.6.1.jar
        Note: In Feature Pack 6, there is no variable EAR_PATH definition. Specify your full EAR path; for example, /opt/WebSphere85/AppServer/profiles/demo/installedApps/WC_demo_cell/WC_demo.ear.
      • Feature Pack 7Feature Pack 8 $EAR_PATH/lib/commons-logging.jar:$EAR_PATH/lib/httpclient-4.3.1.jar:$EAR_PATH/lib/httpcore.jar:$EAR_PATH/lib/commons-codec.jar:$EAR_PATH/lib/slf4j-api.jar:$EAR_PATH/lib/slf4j-jdk.jar
      Important: If you apply WebSphere Commerce maintenance after you upgrade to Java 8, it is possible that your di-buildindex.sh file will be overwritten. After you apply maintenance, ensure that your di-buildindex.sh file still contains the correct class path that you set during this step. If the class path is changed update the path to point to the correct class.
  16. Install the following WebSphere Commerce fixes to enable your environment to support Java 8.
    For information about how to install the fixes, see Installing WebSphere Commerce interim fixes.
  17. Restart the deployment manager, all cluster members, and the associated Web servers.
  18. Verify that your environment is fully configured and working by completing a shopping flow in your store.

    If you encounter errors, review the following topic, Troubleshooting Developer environment issues after upgrading to Java 8.