Installation Guide

Red Hat JBoss A-MQ

Installing Red Hat JBoss A-MQ on a computer

Red Hat

Version 6.2
15 Nov 2017

Abstract

It is easy to install Red Hat JBoss A-MQ and tailor the installation to a particular environment.

Chapter 1. Installation Prerequisites

Abstract

Before attempting to install and use Red Hat JBoss A-MQ, make sure your system meets the minimum requirements.

1.1. Supported Platforms

Red Hat tests and supports Fuse products in the configurations listed at Red Hat JBoss A-MQ Supported Configurations.

1.2. Java Runtime

For details of the Java runtimes supported by Red Hat JBoss A-MQ, see Red Hat JBoss A-MQ Supported Configurations.

1.3. Supported Standards and Protocols

Red Hat JBoss A-MQ supports the standards and protocols listed at Red Hat JBoss A-MQ Supported Standards and Protocols.

1.4. Hardware requirements

The minimum hardware specifications to install Red Hat JBoss A-MQ are:
  • 300 MB of free disk space
  • 2GB of RAM
In addition to the disk space required for the base installation, a running system will require space for caching, persistent message stores, and other functions.

Chapter 2. Installing

Abstract

Red Hat JBoss A-MQ is installed by unpacking an archive system on a system. This provides an easy way for a developer to get up and running.

Getting the archive

You can download the Red Hat A-MQ archive from the Red Hat Customer Portal>Downloads>Red Hat JBoss Middleware>Downloads page, after you register and login to your customer account.
Once logged in:
  1. Select A-MQ, listed under Integrated Platforms, in the sidebar menu.
  2. Select 6.2.1 or 6.2.0 from the Version drop-down list on the Software Downloads page.
  3. Click the Download button next to the Red Hat JBoss A-MQ distribution file you want to download.
Note
Trial kits are also available from the developer Web site, at http://jboss.org/products/amq. These kits are not supported by Red Hat.

Unpacking the archive

Red Hat JBoss A-MQ is packaged as a .zip file. Using a suitable archive tool, such as Zip or Gunzip, unpack Red Hat JBoss A-MQ into a directory to which you have full access.
Warning
Do not unpack the archive file into a folder that has spaces in its path name. For example, do not unpack into C:\Documents and Settings\Greco Roman\Desktop\amq.
Warning
Do not unpack the archive file into a folder that has any of the following special characters in its path name: #, %, ^, ".

Chapter 3. Adding a Remote Console User

Abstract

The server's remote command console is not configured with a default user. Before you can connect to the server's console remotely, you must add a user to the configuration.

3.1. Add a User

Red Hat JBoss A-MQ is not installed with a default user for the remote console. Before you can remotely manage a server, you must add a user by editing InstallDir/etc/users.properties.
Important
The information in this file is unencrypted so it is not suitable for environments that require strict security.
To add a user:
  1. Open InstallDir/etc/users.properties in your favorite text editor.
  2. Locate the line #admin=admin,admin,manager,viewer,Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser.
    This line specifies a user admin with the password admin and comma-separated list of roles.
  3. Uncomment the line by removing the leading #.
  4. Change the first admin to the desired user name.
  5. Change the second admin to the desired password.
  6. Leave the role list, admin,manager,viewer,Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser, as is.
  7. Save the changes.

Chapter 4. Verifying the Installation

Abstract

Once the installer has completed running it is a good idea to run a simple test to ensure that Red Hat JBoss A-MQ was properly installed.

4.1. Verify the Installation

JBoss A-MQ ships with a simple client utility that can be used to verify that the software was successfully installed. You use it to create a message producer and a message consumer that connect to the broker. If they run successfully, and you see—by checking the Fuse Management Console—that the broker processed the messages, then you can be confident that JBoss A-MQ was installed successfully.
To verify that JBoss A-MQ is properly installed:
  1. Log in as the user with ownership permissions for the JBoss A-MQ installation.
  2. Open a command shell at InstallDir.
  3. Start the broker using the start command.
    Windowsbin\start.bat
    Unix./bin/start
  4. Run the producer client with the following command:
    Linux/UNIX
    ./bin/client "activemq:producer --user Username --password Password"
    Windows
    .\bin\client.bat "activemq:producer --user Username --password Password"
    The producer will connect to the broker and produce 100 messages. Example 4.1, “Test Producer Output” shows the producer's output.

    Example 4.1. Test Producer Output

    $ ./bin/client "activemq:producer --user Username --password Password"
    client: JAVA_HOME not set; results may vary
    Logging in as admin
    1073 [sshd-SshClient[6575deb1]-nio2-thread-3]
    WARN org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier -
    Server at [/0.0.0.0:8101, DSA, af:77:de:7f:c9:32:f0:b0:ed:12:0e:cd:56:35:fe:78] presented unverified {} key: {}
    $
  5. To check that the messages have been enqueued, enter the following command:
    Linux/UNIX
    ./bin/client activemq:dstat
    Windows
    .\bin\client.bat activemq:dstat
  6. Run the consumer client with the following command:
    Linux/UNIX
    ./bin/client "activemq:consumer --user Username --password Password"
    Windows
    .\bin\client.bat "activemq:consumer --user Username --password Password"
    The consumer will connect to the broker and consume 100 messages. Example 4.2, “Test Consumer Output” shows the consumer's output.

    Example 4.2. Test Consumer Output

    $ ./bin/client "activemq:consumer --user Username --password Password"
    client: JAVA_HOME not set; results may vary
    Logging in as admin
    235 [sshd-SshClient[1d6f6a81]-nio2-thread-1]
    WARN org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier -
    Server at [/0.0.0.0:8101, DSA, af:77:de:7f:c9:32:f0:b0:ed:12:0e:cd:56:35:fe:78] presented unverified {} key: {}
    $
  7. To check that the messages have been dequeued, enter the following command:
    Linux/UNIX
    ./bin/client activemq:dstat
    Windows
    .\bin\client.bat activemq:dstat

Chapter 5. Offline Mode

Abstract

You can run the JBoss A-MQ container in offline mode (that is, without an Internet connection). But if you are planning to deploy custom applications to the container, it might be necessary to download additional dependencies (to a local Maven repository) before you can run the container in offline mode with these applications.

5.1. Supported Functionality

If you want to run the JBoss A-MQ container in offline mode, it is necessary to distinguish between the following kinds of dependency:
  • Runtime dependencies—the dependencies required to run the JBoss A-MQ container, in its default configuration.
  • Build-time dependencies—the dependencies required to build a custom application (which might include third-party libraries).
Here is a summary of what can be done in offline mode and what needs to be done in online mode (with an Internet connection):
  • Running the JBoss A-MQ container in its default configuration—is supported in offline mode. The default configuration of the JBoss A-MQ container is specified by the featuresBoot property in the etc/org.apache.karaf.features.cfg file. The requisite dependencies are all provided in the system/ sub-directory of the installation.
  • Installing additional features—is, in general, not supported in offline mode. In principle, you can use the features:install command to install any of the features from the standard feature repositories (as specified by the featuresRepositories property in the etc/org.apache.karaf.features.cfg file), but the majority of these features must be downloaded from the Internet and are thus not supported in offline mode.
  • Deploying custom applications—is, in general, not supported in offline mode. There may be some cases where an application with a minimal set of build-time dependencies is deployable offline, but in general, custom applications would have third-party dependencies that require an Internet connection (so that JAR files can be downloaded by Apache Maven).
If you do need to deploy an application with dependencies that are not available offline, you can use the Maven dependency plug-in to download the application's dependencies into a Maven offline repository. This customized Maven offline repository can then be distributed internally to any machines that do not have an Internet connection. For more details of this approach, see section "Offline Repository for a Maven Project" in "Fabric Guide".

Chapter 6. Installing the Messaging Client Packages

Abstract

Red Hat JBoss A-MQ provides messaging clients as individual packages that you download from the Red Hat Customer Portal.

6.1. Installing Clients on Red Hat Enterprise Linux

Required subscriptions

In order to install the A-MQ client packages on Red Hat Enterprise Linux (RHEL), you require subscriptions to both of the following Red Hat products:
  • Red Hat JBoss A-MQ 6.2.0 or 6.2.1
  • RHEL 5, 6, or 7

RPM repositories

Enable the requisite RPM repository for your version of RHEL, as shown in the following table:

Table 6.1. RPM Repositories for A-MQ Clients

Platform VersionRPM Repository
RHEL 7
a-mq-clients-1-for-rhel-7-server-rpms
RHEL 6
a-mq-clients-1-for-rhel-6-server-rpms
RHEL 5
a-mq-clients-1-for-rhel-5-server-rpms

Qpid JMS AMQP 1.0 Java client

To install the Qpid JMS AMQP 1.0 Java client, enter the following command (as a superuser):
# yum install qpid-jms-client qpid-jms-client-docs qpid-jms-client-examples qpid-jms-client-maven-repo

Qpid C++ client

To install the Qpid C++ client, enter the following command (as a superuser):
# yum install qpid-cpp-client qpid-cpp-client-devel
Important
The Qpid C++ client packages are currently not available for the following platform (processor) combinations: RHEL 5 (i686) and RHEL 6 (i686).

Python language bindings for Qpid Proton

To install the Python language bindings for the Qpid Proton messaging framework, enter the following command (as a superuser):
# yum install python-qpid-proton python-qpid-proton-doc

Compiling the Qpid C++ client from sources on RHEL 6

The Qpid C++ client cannot be compiled from sources through the Client or ComputeNode channels on RHEL 6 (due to a missing dependency on the package, nss-devel). In order to compile from sources, it is recommended that you install the Qpid C++ client through the Server channel instead.

6.2. Installing Clients on All Other Platforms

Downloading the client packages

You can download the messaging client packages for JBoss A-MQ, as follows:
  1. Navigate to the Red Hat Software Downloads page on the Red Hat Customer Portal.
  2. Select A-MQ under Integration Platforms in the sidebar menu (or using the drop-down menu for the Product field).
  3. Choose version 6.2.1 or 6.2.0 from the Version drop-down list on the Software Downloads page.
  4. Click Download next to the client package that you want to download.

Available 6.2.1 messaging client packages

The available client packages are shown in Table 6.2, “Messaging Client Packages”.

Table 6.2. Messaging Client Packages

Package NameDescription
Red Hat JBoss A-MQ 6.2.1 AMQP 1.0 JMS Client 0.5.0
jboss-a-mq-6.2.1-apache-qpid-jms-0.5.0.redhat-1-bin.zip
Provides the Qpid JMS client 0.5.0 library.
Red Hat JBoss A-MQ 6.2.1 QPID C++ Client for Windows 64bit Visual Studio 2012 v3.34.4.1
jboss-a-mq-6.2.1-qpidcpp-x64-VS2012-3.34.4.1.zip
Provides the Qpid CMS client library for Windows.
Important: The Qpid C# libraries (org.apache.qpid.messaging*.dll) and examples included in this archive (under the dotnet_examples directory) are not supported. JBoss A-MQ supports only the Qpid C++ client libraries.
Red Hat JBoss A-MQ 6.2.1 C++ Client
jboss-a-mq-cpp-6.2.1.redhat-084.zip
Provides the Apache ActiveMQ C++ client library source code for building on Linux, UNIX, and Windows.
Red Hat JBoss A-MQ 6.2.1 AMQP 1.0 .NET Client for Windows SDK
jboss-a-mq-6.2.1-amqpnetlite-1.1.0.3-1-sdk.zip
Provides the AMQPNet.Lite SDK for developing AMQP 1.0 .NET clients on Windows.
Red Hat JBoss A-MQ 6.2.1 .NET Client
jboss-a-mq-nms-6.2.1.redhat-084.zip
Provides the Apache ActiveMQ NMS .NET client library for Windows.
Copy the archive files to the desired location and decompress them using the appropriate utility for your platform.
After extracting the archives, you can distribute their contents with your client applications that need them. In the case of CMS, you need to build the C++ library from source and include that in your CMS application.
Warning
Do not unpack the archive files into a folder that has spaces in its path name. For example, do not unpack into C:\Documents and Settings\Greco Roman\Desktop\fusesrc.

Available 6.2.0 messaging client packages

The available client packages are shown in Table 6.2, “Messaging Client Packages”.

Table 6.3. Messaging Client Packages

Package NameDescription
Red Hat JBoss A-MQ 6.2.0 AMQP 1.0 JMS Client
apache-qpid-jms-0.2.0.redhat-1-bin.zip
Provides the Qpid JMS client library.
Red Hat JBoss A-MQ 6.2.0 QPID C++ Client for Windows 64bit Visual Studio 2012 v3.32.3.1
qpid-cpp-x64-VS2012-3.32.3.1.zip
Provides the Qpid CMS client library for Windows.
Important: The Qpid C# examples included in this archive (under the dotnet_examples directory) are not supported. JBoss A-MQ supports only the Qpid C++ client libraries.
Red Hat JBoss A-MQ 6.2.0 C++ Client
jboss-a-mq-cpp-6.2.0.redhat-133.zip
Provides the Apache ActiveMQ C++ client library source code for building on Linux, UNIX, and Windows.
Red Hat JBoss A-MQ 6.2.0 AMQP 1.0 .NET Client for Windows SDK
amqpnetlite-sdk-1.1.0.2.zip
Provides the AMQPNet.Lite SDK for developing AMQP 1.0 .NET clients on Windows.
Red Hat JBoss A-MQ 6.2.0 .NET Client
jboss-a-mq-nms-6.2.0.redhat-133.zip
Provides the Apache ActiveMQ NMS .NET client library for Windows.
Copy the archive files to the desired location and decompress them using the appropriate utility for your platform.
After extracting the archives, you can distribute their contents with your client applications that need them. In the case of CMS, you need to build the C++ library from source and include that in your CMS application.
Warning
Do not unpack the archive files into a folder that has spaces in its path name. For example, do not unpack into C:\Documents and Settings\Greco Roman\Desktop\fusesrc.

Chapter 7. Monitor Fuse Resources

Abstract

Using Red Hat JBoss Operations Network (JON), you can discover, import, and monitor Red Hat JBoss A-MQ.

7.1. Installation Procedure

The Fuse Plugin Pack for JBoss ON 3.3 is not installed with the JON base distribution. You must download and install it separately after you have installed JON.
To install the Fuse Plugin Pack for JBoss ON 3.3:
  1. Navigate to the Red Hat Software Downloads page on the Red Hat Customer Portal.
  2. Select JBoss ON for Fuse under Management in the sidebar menu (or using the drop-down menu for the Products field).
  3. Make sure 3.3 appears in the Version drop-down list on the Software Downloads page.
  4. Click Download next to Fuse Plugin Pack for Red Hat JBoss Operations Network 3.3 .
  5. Unzip the plugin package (jon-plugin-pack-fuse-3.3.0.GA.zip) into a temporary directory (for example, /installDir/server/).
  6. Install the jar files in one of two ways:

Appendix A. Installing the Apache ActiveMQ Standard Distribution

Abstract

Red Hat JBoss A-MQ includes a standard distribution of Apache ActiveMQ in the installation's extras directory.

A.1. Apache ActiveMQ Distribution

If you simply want to use a standard distribution of Apache ActiveMQ you can use the archived version in the installation's extras directory.
The apache-activemq-5.11.0.redhat-620<build#>-bin.zip archive file is provided.
You can copy this archive file to the desired location and decompress it using the appropriate utility for your platform.
Warning
Do not unpack the archive file into a folder that has spaces in its path name. For example, do not unpack into C:\Documents and Settings\Greco Roman\Desktop\fusesrc.

Appendix B. Red Hat JBoss A-MQ Maven Repositories

Abstract

Red Hat JBoss A-MQ strongly supports Maven, an open source build system available from Apache Maven. To use Maven to build your projects, you need to specify, in a Maven settings.xml file, where required artifacts are located.

B.1. Maven Repositories

The following repositories contain artifacts your projects may need:
  • JBoss A-MQ repository
    Provides access to the artifacts in the Red Hat JBoss A-MQ Maven repository. This repository is required.
    https://repo.fusesource.com/nexus/content/groups/public/
  • JBoss A-MQ Snapshots repository
    Provides access to the artifacts in the Red Hat JBoss A-MQ snapshot kit. This repository is not required, but it is useful if you want to experiment with building your project using different versions of the supplied archetypes.
    https://repo.fusesource.com/nexus/content/groups/public-snapshots/
  • Apache Public repository
    Provides access to the artifacts in the Apache Maven repository. This repository is not required, but it is useful to include as Red Hat JBoss Fuse depends on various Apache artifacts.
    https://repository.apache.org/content/groups/public/

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.