Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Chapter 21. Applying Patches
Abstract
Red Hat JBoss Fuse supports incremental patching. FuseSource will supply you with easy to install patches that only make targeted changes to a deployed container.
Incremental patching allows you apply targets fixes to a container without needing to reinstall an updated version of Red Hat JBoss Fuse. It also allows you to easily back the patch out if it causes problems with your deployed applications.
Patches are ZIP files that contain the artifacts needed to update a targeted set of bundles in a container. The patch file includes a
.patch file that lists the contained artifacts. The artifacts are typically one or more bundles. They can, however, include configuration files and feature descriptors.
You get a patch file in one of the following ways:
- Customer Support sends you a patch.
- Customer Support sends you a link to download a patch.
The process of applying a patch to a container depends on how the container is deployed:
- standalone—the container's command console's patch shell has commands for managing the patching process
- fabric—patching a fabric requires applying the patch to a profile and then applying the profile to a containerThe management console is the recommended way to patch containers in a fabric. See Using the Management Consolefor more information.
21.1. Patching a Standalone Container Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Abstract
You apply patches to a standalone container using the command console's patch shell. You cam apply and roll back patches as needed.
Overview Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Patching a standalone container directs the container to load the patch versions of artifacts instead of the non-patch versions. The chapter "Patch Console Commands" in "Console Reference" shell provides commands to patches to the container's environment, see which bundles are effected by applying the patch, apply the patch to the container, and back the patch out if needed.
To make sure that the a patch can be rolled back Red Hat JBoss Fuse applies the patch in a non-destructive manner. The patching process does not overwrite the artifacts included in the original installation. The patched artifacts are placed in the container's
system folder. When the patch is applied, the container's configuration is changed so that it points to the patched artifacts instead of the artifacts from the original installation. This makes it easy for the system to be restored to its original state or to selectively back out patches.
Important
Patches do not persist across installations. If you delete and reinstall a JBoss Fuse instance you will need to download the patches and reapply them.
Applying a patch Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
To apply a patch to a standalone container:
- Add the patch to the container's environment using the section "Arguments" in "Console Reference" command.Example 21.1, “Adding a Patch to a Broker's Environment” shows the command for adding the patch contained in the patch file
patch.zipfrom the local file system.Example 21.1. Adding a Patch to a Broker's Environment
JBossA-MQ> patch:add file://patch.zip
JBossA-MQ> patch:add file://patch.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow This command copies the specified patch file to the container'ssystemfolder and unpacks it. - Simulate installing the patch using the section "Arguments" in "Console Reference" command.This will generate a log of the changes that will be made to the container when the patch is installed, but will not make any actual changes to the container.NoteThe section "Arguments" in "Console Reference" command displays a list of all patches added to the container's
systemfolder. - Review the simulation log to understand the changes that will be made to the container.
- Apply the patch to the container using the section "Arguments" in "Console Reference" command.WarningRunning patch:install before the container is fully started and all of the bundles are active will cause the container to hang.NoteThe section "Arguments" in "Console Reference" command displays a list of all patches added to the container's
systemfolder.
The container will need to restart to apply the patch. If you are using a remote console, you will lose the connection to the container. If you are using the container's local console, it will automatically reconnect when the container restarts.
Rolling back a patch Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Occasionally a patch will not work or introduce new issues to a container. In these cases you can easily back the patch out of the system and restore it pre-patch behavior using the section "Arguments" in "Console Reference" command. As shown in Example 21.2, “Rolling Back a Patch”, the command takes the name of patch to be backed out.
Example 21.2. Rolling Back a Patch
JBossA-MQ> patch:rollback patch1
JBossA-MQ> patch:rollback patch1
Note
The section "Arguments" in "Console Reference" command displays a list of all patches added to the container's
system folder.
The container will need to restart to rollback the patch. If you are using a remote console, you will lose the connection to the container. If you are using the container's local console, it will automatically reconnect when the container restarts.