Solace Micro-Integration Manager Example

Solace Micro-Integration Manager is distributed with a few examples (sample configurations and shell scripts), allowing you to start and run Micro-Integration Manager together with different self-managed Micro-Integrations with minimum effort.

This section provides step-by-step instructions on how to run the Micro-Integration for IBM MQ example that is provided in the zip archive in the Micro-Integration Manager package. You can use this section as a model to apply similar instructions for any self-managed Micro-Integration (after downloading the configuration and executable files for these self-managed Micro-Integrations).

For detailed information about the samples folder and examples, see Starting Micro-Integration Manager.

Starting Micro-Integration Manager

The shell script to start Micro-Integration Manager allows you to initiate a Micro-Integration Manager instance and pre-configure it with essential parameters. For detailed information, see Starting Micro-Integration Manager With a Shell Script.

Encrypting Values for Cloud Configurations

To create encrypted values for cloud configuration files, you must start Micro-Integration Manager in local mode (completely isolated from any production environment with the keystore file that is generated for this purpose) with enabled encryption, or as a localhost. For detailed information, see Encrypting Values for Cloud Configurations.

Starting Self-Managed Micro-Integrations

In addition to the Micro-Integration Manager configurations, the samples/micro-integrations folder contains a few configuration examples to start self-managed Micro-Integration instances (with the script to do that). Therefore, all commands that you need are in the samples/micro-integrations folder.

Examples of configuration parameters are available for:

  • IBM MQ

  • TIBCO EMS

The samples/micro-integrations folder contains a few nested subdirectories:

  • applications—must contain the JAR files for your Micro-Integration (not included). You must copy the Micro-Integration's JAR files into this folder.

  • libs—contains some third-party libraries that are required for any Micro-Integration to run. If necessary, you must fill these out before starting your Micro-Integration(s).

  • micro-integrations-configs—contains operator configurations that are required to start up the Micro-Integration.

  • security—contains a pre-generated keystore called demo.jks. This must not be used for any purpose other than demonstration.

In the samples/micro-integrations folder, there is a micro-integration.sh script that allows you to start up the Micro-Integration. This script is the same as the one distributed with any Micro-Integration, so all the required parameters are the same.

Prerequisites for Self-Managed Micro-Integration Startup

Before you run your Micro-Integration with Micro-Integration Manager, make sure that the prerequisites listed in the following sections are met.

Prerequisites for the Solace Software Event Broker:

  • The software event broker must be running on port 55555 with default parameters.

  • A queue with the name Solace/Queue/0 must be created.

Prerequisites for the IBM MQ Broker:

  • The IBM MQ broker must be running with default parameters. Credentials are:

    • Username: admin

    • Password: passw0rd

    • Queue Manager: QM1

  • A queue with the name DEV.QUEUE.0 must be created.

Prerequisites for Configuration:

In the samples/micro-integrations/micro-integrations-configs/ibmmq folder in the application.yml file, the encrypt.keyStore.location variable must be modified to include the absolute path.

This is a full list of the parameters that you can use with shell script for self-managed Micro-Integrations:

Parameter Description
-n or --name

Specifies the name of the Micro-Integration instance that is set up in spring.application.name. This name has an impact on grouping Micro-Integrations only.

-l or --libs

Specifies the directory that contains the required and optional dependency JARs, such as Micrometer metrics export dependencies (if configured). If not specified, it uses the current ./libs/ folder.

-p or --profile

Specifies the profile to be used for Micro-Integration configuration. The application-<profile>.ymlconfiguration file is used. The default value is empty, which means that the Micro-Integration will look for a configuration file called application.yml.

-c or --config

Specifies the path to the folder that contains the configuration files to be applied during Micro-Integration startup for the chosen profile. By default, it is set to the current folder and automatically looks in nested and sibling config folders (if any), as well as in the current and parent folders.

-P or --port

Specifies the port that the Micro-Integration will be running on. The default value is 8090.

-H or --host

Specifies the host that the Micro-Integration will be running on. The default value is 127.0.0.1.

-mp or --mgmt_port

Specifies the management port for the back calls of the current Micro-Integration from Micro-Integration. The default value is 9009. Ignored if the -cm argument is missing.

-j or --jar

Specifies the path to the specified JAR file to start the Micro-Integration. If not specified, the default JAR file from the current folder is used.

-cm or --manager

Allows cloud configuration for the Micro-Integration by using Micro-Integration's configuration storage.

-cmp or --cm_port

Specifies the port that Micro-Integration is running on. The default value is 9500. Ignored if the -cm argument is missing.

-cmh or --cm_host

Specifies the host that Micro-Integration Manager is running on. The default value is 127.0.0.1. Ignored if the -cm argument is missing.

-o or --options

Specifies the JVM options that are used when starting Micro-Integration (for example, -Xms64M -Xmx1G). Use single/double quotes to specify parameters.

-b or --background

Runs Micro-Integration in the background. No logs are displayed, and Micro-Integration continues to run in detached mode.

-s or --show

Prints the start CLI command in raw format and exits.

-h or --help

Prints this help page and exits.

Starting the Micro-Integration for IBM MQ with Default Configuration

The micro-integration.sh script has a few additional properties, allowing you to configure your Micro-Integration with various parameters dynamically:

$> ./micro-integration.sh \
    -c ./micro-integrations-configs/ibmmq \
    -j ./applications/pubsubplus-connector-ibmmq-1.2.1.jar \
    -cm \
    -cmh 10.0.0.100 \
    -cmp 9500 \
    -H 10.0.0.100 \
    --port 9101 \
    -mp 9201

This command starts the Micro-Integration for IBM MQ with one workflow enabled. The Micro-Integration for IBM MQ is shown in Micro-Integration Manager:

  • running on host 10.0.0.100 and port 9500 (parameters -cm, -cmh, and cmp) .

  • specifying the back management port and host as 9201 (to make calls from Micro-Integration Manager to the Micro-Integration for IBM MQ) (parameter -mp).

  • specifying the Micro-Integration for IBM MQ host and port as 9101 (parameters -H and -cp).

For more information, see the (parameter -h) help.