LibraryToggle FramesPrintFeedback

Creating a New Fabric

Revision History

Overview

If there is no existing fabric for a broker to join, you will need to create one from the standalone broker. There are two options for how to do this:

  • The recommended approach is to create the fabric such that the broker is converted into a managed Fabric Server. The container will revert to being a vanilla broker, so you will need to either create a new broker with the desired configuration or deploy an updated broker profile into the Fabric Server.

    Ensuring that the new broker is configured properly requires creating a broker profile with the proper settings. This can be done once the new fabric is created using the fabric:mq-create command. The fabric:mq-create command can also create the new broker.

  • The alternative approach is to create the fabric such that the broker becomes a non-managed Fabric Server. The broker becomes a Fabric Server that is fully capable of being part of a fabric's ensemble. However, the broker retains control over its own configuration. It will continue to be managed as if it were a standalone broker and will not respond to fabric commands that attempt to alter its configuration.

Becoming a new fabric

Several things happen when a fabric is created from a standalone broker:

  1. The broker installs the required Fuse Fabric bundles to become a Fabric Server.

  2. The Fabric Server starts up the ensemble process.

  3. A new ensemble containing an empty configuration registry and a runtime registry with a single entry for the Fabric Server is created.

  4. The Fabric Server delegates control over its configuration to the ensemble.

    [Note]Note

    If the fabric is created with a non-managed server, this step is skipped.

  5. The ensemble associates the profiles required to be a Fabric Server with the container.

  6. Unless the --no-import flag is used, the ensemble imports a set of profiles.

    • If the --import-dir flag is used, the profiles are imported from the specified location.

    • If no location is specified the default set of profiles is imported from InstallDir/fabric/import.

  7. The ensemble installs the default mq profile to the container.

    This starts a default broker instance in the container.

    [Note]Note

    If the fabric is created with a non-managed server, this step is skipped.

  8. The ensemble waits for commands to update the fabric.

Procedure

To create a new fabric from a standalone broker:

  1. Delete the standalone broker configuration(s) from your installation's /etc folder.

    The configuration is stored in /etc/org.fusesource.mq.fabric.server-configName.cfg.

  2. Connect to the standalone broker's command console.

  3. Remove any brokers running in the container.

    1. Use config:list to locate any PIDs using the form org.fusesource.mq.fabric.server.ID.

    2. Use config:delete to delete all of the PIDs using the form org.fusesource.mq.fabric.server.ID.

  4. Enter the following command:

    FuseMQ:karaf@root> fabric:create
    [Tip]Tip

    If you want to import a predefined set of profiles, use the -p import-dir option to specify the set of profiles to import.

    For details on fabric:create see fabric:create in Console Reference.

  5. Add a new broker to the fabric as described in Deploying a New Broker into a Fabric.

Comments powered by Disqus