9.2. Deploying a New Broker into a Fabric

Abstract

Deploying a broker into a fabric allows you to deploy multiple brokers from a single location and easily reuse large portions of the configuration.

Overview

Deploying a new broker instance into a fabric involves creating a new broker profile and deploying it to a Fabric Container. The fabric infrastructure simplifies these tasks by:
  • allowing you to do them from a remote location
  • providing tools that assist in automatically configuring fail over clusters, networks of brokers, and master/slave clusters.
  • allowing you to reuse parts of existing profiles to ensure consistency
  • providing tooling to do rolling updates
  • providing tooling to roll back changes when needed
From the Red Hat JBoss A-MQ console you can use the fabric:mq-create to create new broker profiles and new containers for the brokers. You can also use the management console to perform to create the profiles and assign them to containers.

Procedure

To deploy a new broker into a fabric:
  1. Create a template JBoss A-MQ XML configuration file in a location that is accessible to the container.
  2. In the command console, use the fabric:import command to upload the your XML configuration template to the Fabric Ensemble as shown in Example 9.1, “Uploading a Template to a Fabric Ensemble”.

    Example 9.1. Uploading a Template to a Fabric Ensemble

    JBossA-MQ:karaf@root> fabric:import -t /fabric/configs/versions/version/profiles/mq-base/configFile configFile
    version must match the version of the new profile you will create for the new broker.
  3. Use the fabric:mq-create command to create a profile for the new broker and assign it to a container.
    • To deploy the new broker into an existing container use the command shown in Example 9.2, “Creating a New Broker in an Existing Container”

      Example 9.2. Creating a New Broker in an Existing Container

      JBossA-MQ:karaf@root> fabric:mq-create --assign-container containerName --config configFile profileName
      This will create a new broker profile that inherits from the mq-base profile, but uses your XML configuration template, and deploy it to the specified container.
    • To deploy the new broker into an new container use the command shown in Example 9.3, “Creating a New Broker in a New Container”

      Example 9.3. Creating a New Broker in a New Container

      JBossA-MQ:karaf@root> fabric:mq-create --create-container containerName --config configFile profileName
      This will create a new broker profile that inherits from the mq-base profile, but uses your XML configuration template, create a new container named containerName, and deploy the broker profile to it.
      Note
      The new container will be a child of the container from which you execute the fabric:mq-create command.
    You can add network configuration settings to the profile as well.
  4. Use the fabric:profile-edit command shown in Example 9.4, “Editing a Broker Profile” to set the required properties.

    Example 9.4. Editing a Broker Profile

    JBossA-MQ:karaf@root> fabric:profile-edit --pid org.fusesource.mq.fabric.server-profileName/property=value profileName
    The properties that need to be set will depend on the properties you specified using property place holders in the template XML configuration and the broker's network settings.
Note
The management console makes this process easier by providing a Web-based UI.

More information

For more information on configuring brokers to work together see:
  • Using Networks of Brokers
  • Fault Tolerant Messaging
For more information on using the management console, see Using the Management Console.