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:
- Create a template JBoss A-MQ XML configuration file in a location that is accessible to the container.
- 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. - 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 themq-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 themq-base
profile, but uses your XML configuration template, create a new container named containerName, and deploy the broker profile to it.NoteThe 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. - 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.