The Solace Virtual Message Router (VMR) is a software-based message router application that efficiently routes event-driven information between applications, IoT devices and user interfaces running in cloud, on-premise and hybrid environments. The VMR lets you leave lock-in behind by using open APIs and protocols like AMQP, JMS, MQTT, REST and WebSocket. The VMR is available for installation into a variety of clouds, all regions of AWS, PaaS and on-premise environments.

This section shows how to set up and run VMRs in a range of common cloud services and hypervisors, and also provides instructions on how to configure VMRs for a variety of uses.

Solace offers the following types of VMRs:

  • Enterprise Edition: A full-featured commercial software product available through a paid subscription license.
  • Evaluation Edition: A time-limited version of the VMR Enterprise Edition that provides an opportunity to evaluate a full-featured VMR before obtaining a subscription license.
  • Community Edition: A feature-limited version of the VMR that is available for unlimited use. For this VMR version, replication and in-service upgrades are not supported, and there are scaling limits placed on features, such as the number of configurable Message VPNs and maximum client connections permitted.

You can download a VMR from the Solace VMR Downloads page.

Once you've finished downloading a VMR, the Setting Up VMRs page provides information to get your VMR up-and-running, and Configuring VMRs presents detailed configuration information particular to VMR use. The VMR and appliance share common message routing functionality, and information how to use it is presented in the Use section.

Release Compatibility

For Solace VMR release capability information, refer to the latest VMR Release Notes which provide information on:

  • Supported virtual-machine environments
  • Solace-provided Hypervisor packages
  • Solace-provided cloud packages
  • Minimum hardware requirements
  • Minimum cloud requirements
  • Supported software and minimum versions required

Documentation Conventions

The Solace customer documentation uses the following conventions:

  • The Solace Messaging platform is comprised of two classes of Solace messaging routers: purpose-built physical hardware devices (that is, appliances) and Solace Virtual Message Routers (VMRs). In general, the term “router” is used in the customer documentation to refer to both physical routers and VMRs.When the term “appliance” is used, it refers to a physical Solace router.
  • Examples of Solace CLI commands and responses are written in the following manner:


    For this particular example, the Solace CLI is acting for the host router solace, it is at a CONFIG level, and it is awaiting a command string after the CONFIG prompt character (#).

  • When an item in a CLI command is not enclosed by < >, [ ], or { } symbols, the item is a required keyword.


    solace(configure/service/smf)# shutdown

  • When an item in a CLI command is enclosed with < > symbols, the information requested is a variable and required.


    interface <interface-id>

  • When an item in a CLI command is enclosed with [ ] symbols, the information requested is optional.


    show logging debug [<subsystem-id>]

  • When an item in a CLI command is enclosed by { } symbols, the information requested is a variable of which only one is required.


    boot {<version> | backout}

  • When two or more options in a CLI command are separated by a | symbol, you may at most enter one of the options as part of the command.


    tree [all | global]

  • Code snippets and command outputs are displayed in Courier font and may in some cases use a gray background.


    solace> show hardware

    Platform: Solace 3560

    Power redundancy configuration: 1+1

    Operational power supplies: 1

    System Type: topic-routing

    Supported Blade Configuration: Yes

    . . .

  • Code snippets and command outputs are only provided for demonstration purposes only. You should not assume that a code snippet copied directly from this document will work correctly in your CLI or that the display output will be an exact match to what your operating environment will generate.
  • System limits and supported value ranges for configuration parameters may be written with decimal (for example, megabytes) or binary (for example, mebibytes) units. In some places, binary units will include the exact number of bytes for clarity.
  • Unit Abbreviation Size in Bytes
    kilobyte KB 1,000
    kibibyte KiB 1,024
    megabyte MB 1,000,000 or 10002
    mebibyte MiB 1,048,576 or 10242
    gigabyte GB 1,000,000,000 or 10003
    gibibyte GiB 1,073,741,824 or 10243
    terabyte TB 1,000,000,000,000 or 10004
    tebibyte TiB 1,099,511,627,776 or 10244

  • For some configuration parameters, the maximum permitted values may not be explicitly stated in this document because they are dependent on factors that may vary (for example, the hardware, API, or protocols used).