Chapter 1. Upgrading Your Broker
1.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.
1.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.
1.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
- Download the desired archive from the Red Hat Customer Portal by following the instructions provided in Downloading an AMQ Broker Archive.
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
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
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
Stop the broker if it is running.
BROKER_INSTANCE_DIR/bin/artemis stop
Back up the instance directory of the broker by copying it to the home directory of the current user.
cp -r BROKER_INSTANCE_DIR ~/
(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
Edit the
BROKER_INSTANCE_DIR/etc/artemis.profile
configuration file to set theARTEMIS_HOME
property to the new directory created when the archive was extracted.ARTEMIS_HOME='/opt/redhat/jboss-amq-7.x.x-redhat-1'
Restart the broker by entering the following command:
BROKER_INSTANCE_DIR/bin/artemis run
(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]
1.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
- Download the desired archive from the Red Hat Customer Portal by following the instructions provided in Downloading an AMQ Broker Archive.
- Use a file manager to move the archive to the folder you created during the last installation of AMQ Broker.
- Extract the file contents into the directory by right-clicking on the zip file and choosing Extract All.
Stop the broker if it is running by entering the following command.
BROKER_INSTANCE_DIR\bin\artemis-service.exe stop
Back up the broker by using a file manager.
- Right click on the BROKER_INSTANCE_DIR folder and select Copy.
- Right click in the same window and select Paste.
(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
Edit the
BROKER_INSTANCE_DIR\etc\artemis.profile
configuration file to set theARTEMIS_HOME
property to the new directory created when the archive was extracted.ARTEMIS_HOME=
NEW_INSTALL_DIR
Restart the broker entering the following command:
BROKER_INSTANCE_DIR\bin\artemis-service.exe start
(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]
1.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.
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.
1.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 Installing on Linux.
Procedure
If it is running, stop the 7.0.x broker you want to upgrade:
$ BROKER_INSTANCE_DIR/bin/artemis stop
Back up the instance directory of the broker by copying it to the home directory of the current user.
cp -r BROKER_INSTANCE_DIR ~/
Open the file
artemis.profile
in theBROKER_INSTANCE_DIR/etc/
directory of the 7.0.x broker.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"
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"
Update the
JAVA_ARGS
property by adding thejolokia.policyLocation
parameter and assigning it the following value:-Djolokia.policyLocation=${ARTEMIS_INSTANCE_URI}/etc/jolokia-access.xml
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
Copy configuration files from the
etc
directory of the temporary 7.1.0 instance into theBROKER_INSTANCE_DIR/etc/
directory of the 7.0.x broker.Copy the
management.xml
file:$ cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/management.xml 7.0_BROKER_INSTANCE_DIR/etc/
Copy the
jolokia-access.xml
file:$ cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/jolokia-access.xml 7.0_BROKER_INSTANCE_DIR/etc/
Open up the
bootstrap.xml
file in theBROKER_INSTANCE_DIR/etc/
directory of the 7.0.x broker.Comment out or delete the following two lines:
<app url="jolokia" war="jolokia.war"/> <app url="hawtio" war="hawtio-no-slf4j.war"/>
Add the following to replace the two lines removed in the previous step:
<app url="console" war="console.war"/>
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 Creating a Broker Instance.
1.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 Installing on Windows.
Procedure
If it is running, stop the 7.0.x broker you want to upgrade:
> BROKER_INSTANCE_DIR\bin\artemis-service.exe stop
Back up the instance directory of the broker by using a file manager.
- Right click on the BROKER_INSTANCE_DIR folder and select Copy.
- Right click in the same window and select Paste.
Open the file
artemis.profile
in theBROKER_INSTANCE_DIR/etc/
directory of the 7.0.x broker.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"
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"
Update the
JAVA_ARGS
property by adding thejolokia.policyLocation
parameter and assigning it the following value:-Djolokia.policyLocation=${ARTEMIS_INSTANCE_URI}/etc/jolokia-access.xml
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
Copy configuration files from the
etc
directory of the temporary 7.1.0 instance into theBROKER_INSTANCE_DIR/etc/
directory of the 7.0.x broker.Copy the
management.xml
file:> cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/management.xml 7.0_BROKER_INSTANCE_DIR/etc/
Copy the
jolokia-access.xml
file:> cp TEMPORARY_7.1.0_BROKER_INSTANCE_DIR/etc/jolokia-access.xml 7.0_BROKER_INSTANCE_DIR/etc/
Open up the
bootstrap.xml
file in theBROKER_INSTANCE_DIR/etc/
directory of the 7.0.x broker.Comment out or delete the following two lines:
<app url="jolokia" war="jolokia.war"/> <app url="hawtio" war="hawtio-no-slf4j.war"/>
Add the following to replace the two lines removed in the previous step:
<app url="console" war="console.war"/>
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 Creating a Broker Instance.
1.4. Upgrading a Broker Instance from 7.1.x to 7.2.0
AMQ Broker 7.2.0 includes configuration files and settings that were not included with 7.0.x versions. If you are running 7.0.x instances, you must first upgrade those broker instances from 7.0.x to 7.1.0 before upgrading to 7.2.0. The following subsections describe how to upgrade a 7.1.x broker instance to 7.2.0 for different operating systems.
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.
1.4.1. Upgrading from 7.1.x to 7.2.0 on Linux
The name of the archive that you download could differ from what is used in the following examples.
Procedure
- Download the desired archive from the Red Hat Customer Portal by following the instructions provided in Downloading an AMQ Broker Archive.
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 amq-7.x.x.redhat-1.zip
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 amq-7.x.x.redhat-1.zip /opt/redhat
As the directory owner, extract the contents of the compressed archive. 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
Stop the broker if it is running.
BROKER_INSTANCE_DIR/bin/artemis stop
Back up the instance directory of the broker by copying it to the home directory of the current user.
cp -r BROKER_INSTANCE_DIR ~/
(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] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.5.0.amq-720001-redhat-1 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
Edit the
BROKER_INSTANCE_DIR/etc/artemis.profile
configuration file to set theARTEMIS_HOME
property to the new directory created when the archive was extracted.ARTEMIS_HOME='/opt/redhat/amq-7.x.x-redhat-1'
Restart the broker by entering the following command:
BROKER_INSTANCE_DIR/bin/artemis run
(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.5.0.amq-720001-redhat-1 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
Additional Resources
- For more information about creating an instance of the broker, see Creating a Broker Instance.
-
You can now store a broker instance’s configuration files and data in any custom directory, including locations outside of the broker instance’s directory. In the
BROKER_INSTANCE_DIR/etc/artemis.profile
file, update theARTEMIS_INSTANCE_ETC_URI
property by specifying the location of the custom directory after creating the broker instance. Previously, these configuration files and data could only be stored in theetc/
anddata/
directories within the broker instance’s directory.
1.4.2. Upgrading from 7.1.x to 7.2.0 on Windows
Procedure
- Download the desired archive from the Red Hat Customer Portal by following the instructions provided in Downloading an AMQ Broker Archive.
- Use a file manager to move the archive to the folder you created during the last installation of AMQ Broker.
- Extract the file contents into the directory by right-clicking on the zip file and choosing Extract All.
Stop the broker if it is running by entering the following command.
BROKER_INSTANCE_DIR\bin\artemis-service.exe stop
Back up the broker by using a file manager.
- Right click on the BROKER_INSTANCE_DIR folder and select Copy.
- Right click in the same window and select Paste.
(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
Edit the
BROKER_INSTANCE_DIR\etc\artemis.profile
configuration file to set theARTEMIS_HOME
property to the new directory created when the archive was extracted.ARTEMIS_HOME=
NEW_INSTALL_DIR
Restart the broker entering the following command:
BROKER_INSTANCE_DIR\bin\artemis-service.exe start
(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.5.0.amq-720001-redhat-1 [0.0.0.0, nodeID=554cce00-63d9-11e8-9808-54ee759954c4]
Additional Resources
- For more information about creating an instance of the broker, see Creating a Broker Instance.
-
You can now store a broker instance’s configuration files and data in any custom directory, including locations outside of the broker instance’s directory. In the
BROKER_INSTANCE_DIR\etc\artemis.profile
file, update theARTEMIS_INSTANCE_ETC_URI
property by specifying the location of the custom directory after creating the broker instance. Previously, these configuration files and data could only be stored in the\etc
and\data
directories within the broker instance’s directory.