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. |