MMS Launcher Guide

This topic describes the TIBCO Streaming Model Management Server (MMS) standalone launcher for managing and running on customer workstations/servers or in a container. For more information on how to use these launcher commands to generate Docker images, see Docker Container Management.


Overview

The MMS launcher simplifies the management and operation of MMS on Linux, Windows, and macOS platforms. It provides commands for creating, starting, stopping, and managing MMS environments.

The bin directory of the MMS installation path (usually in ${STREAMBASE_INSTALL_PATH}\distrib\tibco\mms\bin) contains the MMS launcher scripts, as shown below:

  • Linux/macOS: mms-launcher (Bash script)
  • Windows: mms-launcher.cmd (Batch script)

These scripts simplify the command-line usage to:

mms-launcher [args...]

MMS Launcher commands can also be executed directly from the StreamBase Command Prompt. For more information, see Accessing MMS Commands from the StreamBase Command Prompt.


Supported Platforms

Platform Support Level
Linux Development & Production
Windows Development & Production
macOS Development

Environment

An environment is a self-contained directory that stores all the files, configurations, and repositories required to run a local MMS instance. This setup allows users to create multiple isolated environments, making it easier to manage independent projects or testing scenarios.

Each environment contains:

  • A Git repository backing a single MMS space.
  • Maven repository:
    • Remote Maven repository (file-based).
    • Local Maven repository (stores extensions and dependencies).
  • Configuration files, such as:
    • Maven settings file: Configures the Maven repositories.
    • Artifact server configuration file: Defines server behavior.
    • Password file: Stores the user credentials for authentication.
    • Logback.xml: Configures logging for the server.
    • Server logs: Stores the runtime logs of the server.

Note: For more information on MMS configuration, see MMS Configuration Reference.

Environments are stored in the user's home directory by default in the following location:

  • Linux/macOS: $HOME/tibco/mms
  • Windows: %LOCALAPPDATA%\tibco\mms

The MMS launcher creates and manages these environments automatically. When starting the launcher for the first time, a default environment is created if none exists.


Server Configuration

The MMS launcher generates a minimal configuration file for the server when creating an environment. Users can generate a server configuration file using mms-launcher generate configuration command and customize this file as per their requirement.

Key configuration features:

  • Basic Configuration File: It contains essential server settings and can be modified to enable advanced configurations.

  • Password Management: It uses a password file for user authentication and includes a default admin user with the password admin, which can be overridden.

The launcher also provides commands to hash passwords for inclusion in the password file, enabling secure user management.


Launcher Configuration

The MMS launcher supports a simple configuration file that allows users to customize key settings for the launcher and the MMS server. This configuration file ensures flexibility and ease of use when managing launcher properties. The launcher configuration file is located at $STREAMBASE_INSTALL_PATH}\distrib\tibco\mms\bin.


Default Configuration Properties

Property Description Default Value
javaHome Specifies the Java home directory used to launch the server. The Java runtime used by the launcher, or $JAVA_HOME.
mavenHome Specifies the Maven home directory for server configuration. $M2_HOME.
mmsHome Defines the location for storing MMS environments and metadata. /home/user/tibco/mms (Linux/macOS) or %LOCALAPPDATA%\tibco\mms (Windows).
installationDirectory Path to the MMS installation directory. Current directory (.).
jvmArgs Array of JVM arguments for the server during launch. -enableassertions.

Using the Configuration File

The configuration file can be provided to the launcher using the --configuration option:

mms-launcher --configuration /path/to/config.conf [command]

Command Usage

General Help

Displays the general help for the MMS launcher and lists all available commands.

mms-launcher --help

Usage

mms-launcher <command>

Options

Name Description
-c, --configuration=<configFile> Launcher configuration file.
-h, --help Display the help message.
-V, --version Display the application version.

Commands

Name Description
environment Manage environments.
hash-password Create a hashed password.
start Start an MMS server.
stop Stop an MMS server.
status Show details of running environments.
container Commands to run MMS in a Docker container.
generate Generate auto completion, sample configuration, or a local repository archive.

Note: Use mms-launcher <command> --help for more information about a given command.


Environment Management Commands

Create a New Environment

Usage

mms-launcher environment create [-dhty] [-l=<listenPort>] -n=<name>[-p=<path>] [-s=<sessionTimeoutSeconds>]

Options

Name Description
-d, --default Sets the environment as the default. The first environment created is set as the default.
-h, --help Display the help message.
-l, --listen-port=<listenPort> Set the default MMS server listen port. If unspecified, uses the MMS server default.
-n, --name=<name> Environment name.
-p, --path=<path> Path to the environment parent directory. If unspecified, uses the system default environment home directory.
-s, --session-timeout-seconds=<sessionTimeoutSeconds> Set the default MMS server session timeout in seconds. If unspecified, uses the MMS server default.
-t, --[no-]trace Enable/disable MMS server tracing. Traces go to the server logfile. If unspecified, uses the MMS server default value.
-y, --assume-yes Does not prompt for confirmation.

Example

mms-launcher environment create --name myEnvironment --default

It creates an environment named myEnvironment and sets it as the default environment.


List Existing Environments

Usage

mms-launcher environment list [-h] [-e=<environmentId>]

Options

Name Description
-e, --environment=<environmentId> Environment to operate on. If unspecified, it uses the default environment. Environments can be specified by name or number.
-h, --help Display the help message.

Example:

mms-launcher environment list

Lists all existing environments and their details, such as the name, location, and default status.


Update the Environment

Usage

mms-launcher environment update [-dhty] [-e=<environmentId>] [-l=<listenPort>] [-n=<name>] [-s=<sessionTimeoutSeconds>]

Options

Name Description
-d, --default Sets the environment as the default. The first environment created is always the default.
-e, --environment=<environmentId> Environment to operate on. If unspecified, it uses the default environment. Environments can be specified by name or number.
-h, --help Display the help message.
-l, --listen-port=<listenPort> Set the default MMS server listen port. If unspecified, it uses the MMS server default.
-n, --name=<name> Environment name.
-s, --session-timeout-seconds=<sessionTimeoutSeconds> Set the default MMS server session timeout in seconds. If unspecified, it uses the MMS server default.
-t, --[no-]trace Enable/disable MMS server tracing. Traces go to the server logfile. If unspecified, it uses the MMS server default value.
-y, --assume-yes Do not prompt for confirmation.

Example

mms-launcher environment update --name updatedEnv --listen-port 2300

Updates the environment's name to updatedEnv and changes its server listen port to 2300.


Delete the Environment

Usage

mms-launcher environment delete [-hy] [-e=<environmentId> | -a]

Options

Name Description
-a, --all Delete all environments.
-e, --environment=<environmentId> Environment to operate on. If unspecified, it uses the default environment. Environments can be specified by name or number.
-h, --help Display the help message.
-y, --assume-yes Do not prompt for confirmation.

Example

mms-launcher environment delete --environment myEnvironment

Deletes the environment named myEnvironment.


Server Management Commands

Start the Server

Usage

mms-launcher start [-htwy] [-e=<environmentId>] [-l=<listenPort>] [-s=<sessionTimeoutSeconds>] [-sf=<substitutionFile>][-sv=<substitutions>]

It starts the specified (or default) environment. If no environments exist, a new environment is created with default settings.

Options

Name Description
-e, --environment=<environmentId> Environment to operate on. If unspecified, it uses the default environment. Environments can be specified by name or number.
-h, --help Display the help message.
-l, --listen-port=<listenPort> Set the MMS server listen port. If unspecified, it uses the environment default value.
-s, --session-timeout-seconds=<sessionTimeoutSeconds> Set the MMS server session timeout in seconds. If unspecified, it uses the environment default value.
-sf, --substitution-file=<substitutionFile> Configuration file substitution file in Java properties file format.
-sv, --substitutions=<substitutions> Configuration file substitutions as name/value pairs in the form name1=value1,name2=value2,....
-t, --[no-]trace Enable/disable MMS server tracing. Traces go to the server logfile. If unspecified, it uses the environment default value.
-w, --wait Start the server and wait for it to complete.
-y, --assume-yes Do not prompt for confirmation.

Note: For more information on substitutions, see Creating Substitutions.

Example

mms-launcher start --environment myEnvironment

Starts the server for the specified environment. If no environment is provided, the default environment is used.


Stop the Server

Usage

mms-launcher stop [-dhy] [-e=<environmentId> | -a]

Options

Name Description
-a, --all Stop all running environments.
-d, --delete Delete the environment after stopping.
-e, --environment=<environmentId> Environment to operate on. If unspecified, it uses the default environment. Environments can be specified by name or number.
-h, --help Display the help message.
-y, --assume-yes Do not prompt for confirmation.

Example

mms-launcher stop --environment myEnvironment

Stops the running server for the specified environment.


Check Server Status

Usage

mms-launcher status [-h]

Options

Name Description
-h, --help Display the help message.

Example

mms-launcher status

It displays the status of all running environments, such as:

  • Environment name
  • Start time
  • Server URL,
  • Configuration file
  • Log file
  • Git repo
  • Process ID

Password Management

Create a hashed password

Hashes a password for inclusion in the server's password file. To add a MMS user, hash a password and then add the user, the hashed password, and optional groups to the environment's password file. A sample password file is generated with each environment. View one of these files for more details.

Usage

mms-launcher hash-password [-h] [-p=<password>]

Options

Name Description
-h, --help Display the help message.
-p, --password=<password> Password to hash. If not provided, the user is prompted to enter a password.

Example

mms-launcher hash-password

It prompts you to enter a password securely and generates its hashed version for inclusion in the environment’s password file.


Generating autocompletion, sample configuration, or a local repository archive

mms-launcher generate provides different commands as shown below:

Name Description
completion Generate bash/zsh completion script for mms-launcher.
configuration Generate sample server configuration.
local-repository-archive Generate local repository archive.

Shell Autocompletion

Generates bash/zsh completion script for the MMS launcher.

Usage

mms-launcher generate completion [-h]

Options

Name Description
-h, --help Display this help message.
Enable Autocompletion Temporarily

Example

source <(mms-launcher generate completion)

Enables autocompletion for the current session.

Enable Autocompletion Permanently

To enable autocompletion permanently, proceed as follows:

1. Add the following line to your shell startup file (for example, .bashrc or .zshrc):

source <(mms-launcher generate completion)

2. Reload your shell:

source ~/.bashrc

Generate Sample Server Configuration

Writes sample configuration to the standard output in YAML format.

Usage

mms-launcher generate configuration [-h] [-f=<featureMode>]

Options

Name Description
-f, --feature-mode=<featureMode> Feature mode for the server to run in. Valid values: FULL, MMS (default).
-h, --help Display the help message.

The generated sample configuration can be modified as needed. To use it, replace an environment's server configuration file with your desired configuration.


Generate a Local Repository Archive

Usage

mms-launcher generate local-repository-archive [-dh] [-w=<workingDirectory>]

Creates the local repository archive before any environments are created or started. Also, allows repairing an existing archive.

Options

Name Description
-d, --[no-]delete Specify whether the working directory is to be deleted or not after completion. The default behavior is to delete this directory on success, and keep it on failure for inspection purposes.
-h, --help Display the help message.
-w, --working-directory=<workingDirectory> Working directory to create and start a temporary environment in. If this option is not specified, then the system temporary directory is used. If this directory does not exist, it is created and deleted according to the --delete option. If it is an existing directory, the actual working directory used is a sub-directory created in this location. A pre-existing working directory is never deleted.