Chapter 3. Upgrading Your Broker

3.1. About Upgrades

Red Hat releases new versions of AMQ Broker to the Customer Portal. Update your brokers to the newest version to ensure that you have the latest enhancements and fixes. In general, Red Hat releases a new version of AMQ Broker in one of three ways:

Major Release
A major upgrade or migration is required when an application is transitioned from one major release to the next, for example, from AMQ Broker 6 to AMQ Broker 7. This type of upgrade is not addressed in this guide. For instructions on how to upgrade from previous releases of AMQ Broker, see Migrating to Red Hat AMQ 7.
Minor Release
AMQ Broker periodically provides minor releases, which are updates that include new features, as well as bug and security fixes. If you plan to upgrade from one AMQ Broker minor release to another, for example, from AMQ Broker 7.0 to AMQ Broker 7.1, code changes should not be required for applications that do not use private, unsupported, or tech preview components.
Micro Release
AMQ Broker also periodically provides micro releases that contain minor enhancements and fixes. Micro releases increment the minor release version by the last digit, for example from 7.0.1 to 7.0.2. A micro release should not require code changes, however, some releases may require configuration changes.

3.2. Upgrading a Broker Instance from 7.0.x to 7.0.y

The procedure for upgrading AMQ Broker from one version of 7.0 to another is similar to the one for installation: you download an archive from the Customer Portal and then extract it. The following subsections describe how to upgrade a 7.0.x broker for different operating systems.

3.2.1. Upgrading from 7.0.x to 7.0.y on Linux

The name of the archive that you download could differ from what is used in the following examples.

Prerequisites

  • Before upgrading AMQ Broker, review the release notes for the target release.

    The release notes describe important enhancements, known issues, and changes to behavior in the target release.

    For more information, see the AMQ Broker 7.0 Release Notes.

Procedure

  1. Download the desired archive from the Red Hat Customer Portal by following the instructions provided in Downloading an AMQ Broker Archive.
  2. Change the owner of the archive to the same user that owns the AMQ Broker installation to be upgraded.

    sudo chown amq-broker:amq-broker jboss-amq-7.x.x.redhat-1.zip
  3. Move the archive to the directory created during the original installation of AMQ Broker. In the following example, the directory /opt/redhat is used.

    sudo mv jboss-amq-7.x.x.redhat-1.zip /opt/redhat
  4. As the directory owner, extract the contents of the compressed archive. The archive is kept in a compressed format. In the following example, the user amq-broker extracts the archive by using the unzip command.

    su - amq-broker
    cd /opt/redhat
    unzip jboss-amq-7.x.x.redhat-1.zip
  5. Stop the broker if it is running.

    BROKER_INSTANCE_DIR/bin/artemis stop
  6. Back up the instance directory of the broker by copying it to the home directory of the current user.

    cp -r BROKER_INSTANCE_DIR ~/
  7. (Optional) Note the current version of the broker. After the broker stops, a line similar to the one below is displayed at the end of its log file, which can be found at BROKER_INSTANCE_DIR/log/artemis.log.

    INFO  [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.0.0.amq-700005-redhat-1 [4782d50d-47a2-11e7-a160-9801a793ea45] stopped, uptime 28 minutes
  8. Edit the BROKER_INSTANCE_DIR/etc/artemis.profile configuration file to set the ARTEMIS_HOME property to the new directory created when the archive was extracted.

    ARTEMIS_HOME='/opt/redhat/jboss-amq-7.x.x-redhat-1'
  9. Restart the broker by entering the following command:

    BROKER_INSTANCE_DIR/bin/artemis run
  10. (Optional) Confirm that the broker is running and that the version has changed. After starting the broker, open the log file BROKER_INSTANCE_DIR/log/artemis.log and find two lines similar to the ones below. Note the new version number that appears in the log after the broker is live.

    INFO  [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
    ...
    INFO  [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.1.0.amq-700005-redhat-1 [0.0.0.0, nodeID=4782d50d-47a2-11e7-a160-9801a793ea45]

3.2.2. Upgrading from 7.0.x to 7.0.y on Windows

Prerequisites

  • Before upgrading AMQ Broker, review the release notes for the target release.

    The release notes describe important enhancements, known issues, and changes to behavior in the target release.

    For more information, see the AMQ Broker 7.0 Release Notes.

Procedure

  1. Download the desired archive from the Red Hat Customer Portal by following the instructions provided in Downloading an AMQ Broker Archive.
  2. Use a file manager to move the archive to the folder you created during the last installation of AMQ Broker.
  3. Extract the file contents into the directory by right-clicking on the zip file and choosing Extract All.
  4. Stop the broker if it is running by entering the following command.

    BROKER_INSTANCE_DIR\bin\artemis-service.exe stop
  5. Back up the broker by using a file manager.

    1. Right click on the BROKER_INSTANCE_DIR folder and select Copy.
    2. Right click in the same window and select Paste.
  6. (Optional) Note the current version of the broker. After the broker stops, a line similar to the one below is displayed at the end of its log file, which can be found at BROKER_INSTANCE_DIR\log\artemis.log.

    INFO  [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.0.0.amq-700005-redhat-1 [4782d50d-47a2-11e7-a160-9801a793ea45] stopped, uptime 28 minutes
  7. Edit the BROKER_INSTANCE_DIR\etc\artemis.profile configuration file to set the ARTEMIS_HOME property to the new directory created when the archive was extracted.

    ARTEMIS_HOME=NEW_INSTALL_DIR
  8. Restart the broker entering the following command:

    BROKER_INSTANCE_DIR\bin\artemis-service.exe start
  9. (Optional) Confirm that the broker is running and that the version has changed. After starting the broker, open the log file BROKER_INSTANCE_DIR\log\artemis.log and find two lines similar to the ones below. Note the new version number that appears in the log after the broker is live.

    INFO  [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
    ...
    INFO  [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.1.0.amq-700005-redhat-1 [0.0.0.0, nodeID=4782d50d-47a2-11e7-a160-9801a793ea45]

3.3. Upgrading a Broker Instance from 7.0.x to 7.1.0

AMQ Broker 7.1.0 includes configuration files and settings that were not included with previous versions. Upgrading a broker instance from 7.0.x to 7.1.0 requires adding these new files and settings to your existing 7.0.x broker instances. The following subsections describe how to upgrade a 7.0.x broker instance to 7.1.0 for different operating systems.

Important

Starting with AMQ Broker 7.1.0, you can access the AMQ Console only from the local host by default. You must modify the configuration in BROKER_INSTANCE_DIR/etc/jolokia-access.xml to enable remote access. For more information, see Securing AMQ Console and AMQ Broker Connections.

3.3.1. Upgrading from 7.0.x to 7.1.0 on Linux

Before you can upgrade a 7.0.x broker, you need to install Red Hat AMQ Broker 7.1.0 and create a temporary broker instance. This will generate the 7.1.0 configuration files required to upgrade a 7.0.x broker.

Prerequisites
  • Before upgrading AMQ Broker, review the release notes for the target release.

    The release notes describe important enhancements, known issues, and changes to behavior in the target release.

    For more information, see the AMQ Broker 7.1 Release Notes.

  • Before upgrading your 7.0.x brokers, you must first install version 7.1.

    For steps on installing 7.1 on Linux, see Section 2.3, “Installing on Linux”.

Procedure
  1. If it is running, stop the 7.0.x broker you want to upgrade:

    $ BROKER_INSTANCE_DIR/bin/artemis stop
  2. Back up the instance directory of the broker by copying it to the home directory of the current user.

    cp -r BROKER_INSTANCE_DIR ~/
  3. Open the file artemis.profile in the BROKER_INSTANCE_DIR/etc/ directory of the 7.0.x broker.

    1. Update the ARTEMIS_HOME property so that its value refers to the installation directory for AMQ Broker 7.1.0:

      ARTEMIS_HOME="7.1.0_INSTALL_DIR"
    2. On the line below the one you updated, add the property ARTEMIS_INSTANCE_URI and assign it a value that refers to the 7.0.x broker instance directory:

      ARTEMIS_INSTANCE_URI="file://7.0.x_BROKER_INSTANCE_DIR"
    3. Update the JAVA_ARGS property by adding the jolokia.policyLocation parameter and assigning it the following value:

      -Djolokia.policyLocation=${ARTEMIS_INSTANCE_URI}/etc/jolokia-access.xml
  4. Create a 7.1.0 broker instance. The creation procedure generates the configuration files required to upgrade from 7.0.x to 7.1.0. In the following example, note that the instance is created in the directory upgrade_tmp:

    $ 7.1.0_INSTALL_DIR/bin/artemis create --allow-anonymous --user admin --password admin upgrade_tmp
  5. Copy configuration files from the etc directory of the temporary 7.1.0 instance into the BROKER_INSTANCE_DIR/etc/ directory of the 7.0.x broker.

    1. Copy the management.xml file:

      $ cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/management.xml 7.0_BROKER_INSTANCE_DIR/etc/
    2. Copy the jolokia-access.xml file:

      $ cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/jolokia-access.xml 7.0_BROKER_INSTANCE_DIR/etc/
  6. Open up the bootstrap.xml file in the BROKER_INSTANCE_DIR/etc/ directory of the 7.0.x broker.

    1. Comment out or delete the following two lines:

      <app url="jolokia" war="jolokia.war"/>
      <app url="hawtio" war="hawtio-no-slf4j.war"/>
    2. Add the following to replace the two lines removed in the previous step:

      <app url="console" war="console.war"/>
  7. Start the broker that you upgraded:

    $ BROKER_INSTANCE_DIR/bin/artemis run
Additional Resources

For more information about creating an instance of the broker, see Section 4.1, “Creating a Broker Instance”.

3.3.2. Upgrading from 7.0.x to 7.1.0 on Windows

Before you can upgrade a 7.0.x broker, you need to install Red Hat AMQ Broker 7.1.0 and create a temporary broker instance. This will generate the 7.1.0 configuration files required to upgrade a 7.0.x broker.

Prerequisites
  • Before upgrading AMQ Broker, review the release notes for the target release.

    The release notes describe important enhancements, known issues, and changes to behavior in the target release.

    For more information, see the AMQ Broker 7.1 Release Notes.

  • Before upgrading your 7.0.x brokers, you must first install version 7.1.

    For steps on installing 7.1 on Windows, see Section 2.4, “Installing on Windows”.

Procedure
  1. If it is running, stop the 7.0.x broker you want to upgrade:

    > BROKER_INSTANCE_DIR\bin\artemis-service.exe stop
  2. Back up the instance directory of the broker by using a file manager.

    1. Right click on the BROKER_INSTANCE_DIR folder and select Copy.
    2. Right click in the same window and select Paste.
  3. Open the file artemis.profile in the BROKER_INSTANCE_DIR/etc/ directory of the 7.0.x broker.

    1. Update the ARTEMIS_HOME property so that its value refers to the installation directory for AMQ Broker 7.1.0:

      ARTEMIS_HOME="7.1.0_INSTALL_DIR"
    2. On the line below the one you updated, add the property ARTEMIS_INSTANCE_URI and assign it a value that refers to the 7.0.x broker instance directory:

      ARTEMIS_INSTANCE_URI="file://7.0.x_BROKER_INSTANCE_DIR"
    3. Update the JAVA_ARGS property by adding the jolokia.policyLocation parameter and assigning it the following value:

      -Djolokia.policyLocation=${ARTEMIS_INSTANCE_URI}/etc/jolokia-access.xml
  4. Create a 7.1.0 broker instance. The creation procedure generates the configuration files required to upgrade from 7.0.x to 7.1.0. In the following example, note that the instance is created in the directory upgrade_tmp:

    > 7.1.0_INSTALL_DIR/bin/artemis create --allow-anonymous --user admin --password admin upgrade_tmp
  5. Copy configuration files from the etc directory of the temporary 7.1.0 instance into the BROKER_INSTANCE_DIR/etc/ directory of the 7.0.x broker.

    1. Copy the management.xml file:

      > cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/management.xml 7.0_BROKER_INSTANCE_DIR/etc/
    2. Copy the jolokia-access.xml file:

      > cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/jolokia-access.xml 7.0_BROKER_INSTANCE_DIR/etc/
  6. Open up the bootstrap.xml file in the BROKER_INSTANCE_DIR/etc/ directory of the 7.0.x broker.

    1. Comment out or delete the following two lines:

      <app url="jolokia" war="jolokia.war"/>
      <app url="hawtio" war="hawtio-no-slf4j.war"/>
    2. Add the following to replace the two lines removed in the previous step:

      <app url="console" war="console.war"/>
  7. Start the broker that you upgraded:

    > BROKER_INSTANCE_DIR\bin\artemis-service.exe start
Additional Resources

For more information about creating an instance of the broker, see Section 4.1, “Creating a Broker Instance”.