Chapter 6. Patching a Fuse on JBoss EAP installation

This chapter explains how to apply a Fuse hotfix patch to an existing Fuse on JBoss EAP installation. It includes the following topics:

Upgrading JBoss EAP

You can also upgrade the underlying version of JBoss EAP to another version that is supported by Fuse without needing to reinstall and redeploy Fuse on JBoss EAP. For more details, see the JBoss EAP Patching and Upgrading Guide.

Important

You can only upgrade JBoss EAP to a version that is documented as supported on the Fuse Supported Configurations page.

6.1. Hotfix patches for Fuse on JBoss EAP

Fuse hotfix patches contain updated versions of specific files in a Fuse on JBoss EAP installation. They typically include only fixes for one or more critical bugs. Hotfix patches are applied on top of your existing Red Hat Fuse distribution and update a subset of the existing Fuse files only.

Applying patches for Fuse on JBoss EAP is a two-stage process where patch files are first added to a patch repository and then installed in the JBoss EAP server. The following diagram shows an overview of the Fuse patching process on JBoss EAP:

Fuse hotfix patching process
Patch repository
The patch repository is a holding area for Fuse on JBoss EAP patches that runs in the same JVM as the JBoss EAP server. When a patch is present in the repository, this does not imply that it has been installed in the JBoss EAP server. You must first add the patch to the repository, and then you can install the patch from the repository into the JBoss EAP server.
fusepatch utility
The fusepatch utility is a command-line tool for patching Fuse on JBoss EAP. After installing the Fuse on EAP package, the fusepatch.sh script (Linux and UNIX) and the fusepatch.bat (Windows) script are available in the bin directory of the JBoss EAP server.

6.2. Installing a Fuse hotfix patch on JBoss EAP

A Fuse hotfix patch must be installed on top of an existing Fuse installation. This section explains how to install a hotfix patch, fuse-eap-distro-VERSION.fuse-MODULE_ID.HOTFIX_ID.zip, on top of an existing Fuse installation that already includes fuse-eap-distro-VERSION.fuse-MODULE_ID-redhat-BASE_ID.

Prerequisites

  • Section 6.1, “Hotfix patches for Fuse on JBoss EAP”.
  • Download the hotfix patch .zip file available on demand from Red Hat Support.
  • Read the instructions in the readme.txt file accompanying the hotfix patch file, in case there are any extra steps that you must perform to install it.
  • Make a full backup of your Fuse on JBoss EAP installation before applying the patch.

Procedure

  1. Copy the hotfix patch file to your EAP_HOME directory.
  2. Make sure that the correct base version has already been added to your patch repository and installed on the JBoss EAP server.

    For example, given a base module fuse-eap-distro-7.11.1.fuse-sb2-7_11_1-00022-redhat-00002, to check the MODULE_ID and BASE_ID that are installed in the repository, enter the following command:

    bin/fusepatch.sh --query-repository

    The following response should be returned:

    fuse-eap-distro-7.11.1.fuse-sb2-7_11_1-00022-redhat-00002

    And to check that the same IDs are installed on the JBoss EAP server, enter the following command:

    bin/fusepatch.sh --query-server

    The following response should be returned:

    fuse-eap-distro-7.11.1.fuse-sb2-7_11_1-00022-redhat-00002
  3. Given the one-off hotfix patch file, fuse-eap-distro-7.7.0.fuse-770013.hf1.zip, add this to your repository and associate it with the base installation by entering the following command:

    bin/fusepatch.sh --add file:fuse-eap-distro-7.7.0.fuse-770013.hf1.zip --one-off fuse-eap-distro-7.11.1.fuse-sb2-7_11_1-00022-redhat-00002
  4. Given the base module, fuse-eap-distro-7.11.1.fuse-sb2-7_11_1-00022-redhat-00002, update the JBoss EAP server to the latest version:

    bin/fusepatch.sh --update fuse-eap-distro-7.7.0.fuse-770013.hf1
  5. Perform any post-installation steps documented in the patch instructions.

Additional resources

  • For more details on the fusepatch command, enter:

    bin/fusepatch.sh --help