10.2. Applying Patches in Red Hat JBoss BRMS 6.3

In Red Hat JBoss BRMS, the client patching tool is distributed as a ZIP file that includes simple .sh and .bat scripts, allowing for easy and automatic application of updates to an existing Red Hat JBoss BRMS 6.1 (or better) installation.

Important

The patching tool is for use with Red Hat JBoss BRMS 6.1 or better, and should not be used for earlier versions. For more information, see the Maintenance Release Changes in BRMS and BPM Suite 6.1+ article at Red Hat Knowledgebase.

The script requires two mandatory parameters: <path-to-distribution-root> and <type-of-distribution>. For example, the following command applies the updates to the specified Red Hat JBoss EAP bundle:

Note

Patch updates should not be applied while you are running an instance of Red Hat JBoss BRMS. Make sure that the server is shut down before running the following command.

$ ./apply-updates.sh ~/EAP_HOME/jboss-eap-6.4 eap6.x

The following distribution types are supported:

  • eap6.x
  • eap6.x-bc
  • eap6.x-kie-server
  • generic
  • generic-bc
  • generic-kie-server
  • was8
  • was8-bc
  • was8-kie-server
  • wls12c
  • wls12c-bc
  • wls12c-kie-server
  • brms-engine
  • planner-engine
  • supplementary-tools

The quickstarts and migration tool are also included in the patch and are available for download as a ZIP file.

Note

Only updates for Red Hat JBoss BRMS or Red Hat JBoss BPM Suite are included in the patch distribution. Patches to EAP itself must be applied using the EAP patching mechanism. See the Red Hat JBoss EAP Installation Guide.

Backup Feature

Before applying any updates, the client script takes a backup of the specified distribution. It copies the distribution file or directory into the backup/CURRENT_TIMESTAMP subdirectory. The top-level backup directory is created at the same filesystem level as the apply-updates script.

Blacklist Feature

The client patching tool provides a blacklist feature that allows you to tell the script the files that must not be updated. This is a feature that helps you preserve your configuration files from being overwritten automatically by the update process. You can specify non-configuration files as well if required.

To specify the blacklisted files, open the file blacklist.txt present within the patch distribution. Enter the relative path to the files that must not be updated. Each file must be specified on a line by itself.

# Lines with a '#' are comment lines, like this one.
# Blank lines are ignored.

# We have made changes to the web.xml that must be preserved:
WEB-INF/web.xml

# This file has custom modifications:
styles/base.css

Files specified in the blacklist.txt file that have updated content in the patch, are not touched by the update tool. Instead, the tool copies the new, updated file in the same location and appends the new suffix to it. For example, after running the patch tool, both these files will exist in the styles folder, continuing with the blacklist.txt file in the example above.

$ ls styles
base.css base.css.new

Now, compare the contents of the two files and merge the changes.

If there are files that are no longer being distributed but you want to preserve them, put them into the blacklist.txt file as well. The patch update tool will not delete these files, and instead create an empty marker file with the suffix removed. You can then choose to either keep or delete these files manually.

Continuing with the previous example, if the base.css file was removed and you had this file listed in the blacklist.txt file, then after the patch tool has run, the contents of the styles directory would be similar to:

$ ls styles
base.css base.css.removed