Migration Guide

Red Hat AMQ

Migrating to Red Hat AMQ 6.3

Red Hat

Version 6.3
31 Jul 2020

Abstract

This guide lays out the issues a user will encounter when upgrading to the latest version of Red Hat AMQ.

Chapter 1. Migration Overview

Abstract

This chapter highlights some of the key points that might affect your applications, when migrating to AMQ 6.3.

1.1. Upgraded Components

Version upgrades

Some of the major components in JBoss Fuse and AMQ 6.3 have been upgraded. The following versions are used in AMQ:

Table 1.1. Component Versions

ComponentVersion for 6.3 
Apache ActiveMQ5.11.0 
Apache Karaf2.4.0 
Fabric8 (was Fuse Fabric)1.2.0 

Chapter 2. Deprecated and Removed Features

OpenWire JMS is the only OpenWire client that will continue to be supported in the next major release of AMQ

In the next major release of AMQ (AMQ 7.0), support for most of the OpenWire clients will be dropped. The only OpenWire client that will continue to be supported is OpenWire JMS.

Support for KahaDB and LevelDB will be dropped in the next major release of AMQ

In the next major release of AMQ (AMQ 7.0), both the KahaDB message store and the LevelDB message store will be dropped. JBoss AMQ 7 has its own message store implementation and data model.

The implementation of the JDBC persistence adapter will change in the next major release of AMQ

While JBoss AMQ 7 will support a JDBC adapter, the AMQ 6.x JBDC adapter will not be supported on JBoss AMQ 7. A new JDBC store will need to be created.

Support for Apache Karaf (OSGi) container will be dropped in the next major release of AMQ

In the next major release of AMQ (AMQ 7.0), the Apache Karaf (OSGi) container will be dropped. AMQ 7.0 will be packaged as a standalone application, without any container technology.

Support for Fabric8 1.x will be dropped in the next major release of AMQ

In the next major release of AMQ (planned as AMQ 7.0), Fabric8 version 1 will be dropped, to be replaced by Fabric8 version 2. The Fabric8 version 2 upgrade is a new generation of distributed container technology that is entirely cloud-based and leverages the OpenShift technology stack to provide the foundation for containerized AMQ applications.

bin/deletefabric8 script has been removed

The bin/deletefabric8 script has been removed in this release.

Tanuki based wrapper for installing AMQ as a service is deprecated

The Tanuki based wrapper scripts—generated using the wrapper:install Karaf console command—for installing AMQ as a service are deprecated since AMQ 6.3 and will be removed in a future release of AMQ. To install the Apache Karaf container as a service, it is recommended that you use the new karaf-service-*.sh scripts from the bin/contrib directory instead.

bin/patch script is deprecated

The bin/patch script (bin\patch.bat on Windows O/S) is deprecated and will be removed in a future release.

Spring Dynamic Modules (Spring-DM) is deprecated

Spring-DM (which integrates Spring XML with the OSGi service layer) is deprecated since 6.2.1 and you should use the Blueprint framework instead. Using Blueprint does not prevent you from using the Java libraries from the Spring framework: the latest version of Spring is compatible with Blueprint.

REST API is not supported

REST API is not supported in AMQ 6.x and never has been. The REST API described in the Apache ActiveMQ community documentation, http://activemq.apache.org/rest.html, is only a demonstration, not a fully-developed feature. It cannot be used with AMQ 6.x and has multiple gaps in its functionality that make it unsuitable for production use.

Chapter 3. Apache ActiveMQ Issues

Abstract

AMQ 6.3 still uses Apache ActiveMQ 5.11.0.

3.1. Migrating Clients

Migrating Apache ActiveMQ clients

In general, it is recommended that you update your Apache ActiveMQ clients at the same time that you update the brokers, in order to guarantee compatibility between clients and brokers.
It is possible, in some cases, that older client versions might be interoperable with later broker versions. The Openwire protocol supports version negotiation, such that an old client can negotiate the lowest common version with its peer and use that version. But AMQ does not have a comprehensive test suite for testing compatibility between all of the different versions of Apache ActiveMQ. Hence, to be sure of compatibility, it is recommended that you upgrade your clients along with your brokers to use the same version.

3.2. Dependency Upgrades

Apache Karaf

AMQ and JBoss Fuse use Apache Karaf version 2.4.0.

Chapter 4. Migrate Data Store

Overview

AMQ on Apache Karaf uses a KahaDB data store. There is an automatic migration facility that enables the KahaDB data store to be migrated to the new AMQ version.
The Aries transaction module must be installed and enabled before it can be used. See Fuse Transaction Guide for more details. Ignore the Aries transaction files instructions below if you do not have Aries installed.

Migrate the KahaDB Data Store

Note
When migrating or patching AMQ, always back up the KahaDB files and Aries transaction files.
  1. Backup the KhahaDB files and Aries transaction files from the old container. The files can be found at:
    • KahaDB files - InstallDir/data/amq/kahadb/*.*
    • Aries transaction files - InstallDir/data/txlog/*.*
  2. Manually copy all of the KahaDB files from the old container to the same location in the new container.
  3. Manually copy all Aries transaction log files from the same location in the sold container to the new container.
Auto-migration will take place when the new container is started.

Legal Notice

Trademark Disclaimer

The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Apache, ServiceMix, Camel, CXF, and ActiveMQ are trademarks of Apache Software Foundation. Any other names contained herein may be trademarks of their respective owners.