Setting Up a Basic Configuration

The Solace PubSub+ appliance doesn't come set up with a basic configuration of the primary components and services required to permit clients to send and receive messages.

The following procedure shows how to configure a powered up appliance for Direct Messaging utilizing the default SMF messaging service. It then provides steps to configure other optional functionality: Direct Messaging with the optional Web transport service, Guaranteed Messaging, and Message Queuing Telemetry Transport (MQTT) topic syntax support.

To set up a basic configuration, perform the following steps:

  1. Start the Message VPN named default:
    solace> enable
    solace# configure
    solace(configure)# message-vpn default
    solace(configure/message-vpn)# no shutdown
  2. Disable authentication on the Message VPN named default:
    solace(configure/message-vpn)# authentication user-class client
    solace(...message-vpn/authentication/user-class)# auth-type none
    solace(...message-vpn/authentication/user-class)# end

    Although no authentication is used here, as a convenience to allow you to quickly get the appliance ready for messaging, Solace strongly recommends against using no client authentication, especially in production scenarios.

  3. Start the client username named default on the Message VPN named default:
    solace# configure
    solace(configure)# client-username default message-vpn default
    solace(configure/client-username)# no shutdown
    solace(configure/client-username)# end

    At this point, you should now be able to send and receive Direct messages (see Direct Messages for further information on Direct messaging) using the Solace API samples built according to the Quick Start section in the APIs & Protocols Solace Messaging API Developer Guide.

  4. If you want to enable the Web transport service so that Web-based messaging applications may send Direct messages to, and receive Direct messages from, the appliance, perform the following steps:
    1. Unlock the Web Transport service on the event broker:

      solace#
      solace# admin
      solace(admin)# product-key <key-value>
      solace(admin)# exit
      • <key-value> is the Solace-provided product key.
      • By default, Web transport service on the appliance is locked, and you require a valid Solace provided product key to unlock it.
    2. Start the Web Transport service:
      solace(configure)# service web-transport
      solace(configure/service/web-transport)# no shutdown
      solace(configure/service/web-transport)# end

      At this point, you should now be able to send and receive Direct messages (see Direct Messages for further information on Direct messaging) using the Solace JavaScript API samples built according to the Quick Start section in the APIs & Protocols Solace Messaging API Developer Guide.

  5. If you want to enable Guaranteed Messaging service so that messaging applications may send Guaranteed messages to, and receive Guaranteed messages from, the appliance, perform the following steps:

    To support Guaranteed Messaging, a Solace PubSub+ appliance must have an Assured Delivery Blade (ADB) and Host Bus Adapter (HBA) installed.

    1. Enable the appliance’s internal disk drive for Guaranteed message spooling:
      solace# configure
      solace(configure)# hardware message-spool
      solace(configure/hardware/message-spool)# internal-disk

      Although the internal disk is used here as a convenience to allow you to quickly get the appliance ready for messaging, using the internal disk for Guaranteed Messaging is intended only for test purposes, and shouldn't be used in a production environment.

    2. Start the message spool and set it as the primary:
      solace(configure/hardware/message-spool)# no shutdown primary
      solace(configure/hardware/message-spool)# end
    3. Set the maximum message spool usage for the Message VPN default to 1000 MB:
      solace# configure
      solace(configure)# message-spool message-vpn default
      solace(configure/message-spool)# max-spool-usage 1000
      solace(configure/message-spool)# exit
    4. Configure the client profile named default to allow the client to send and receive Guaranteed messages:
      solace# configure
      solace(configure)# client-profile default message-vpn default
      solace(configure/client-profile)# message-spool
      solace(configure/client-profile/message-spool)# allow-guaranteed-message-send
      solace(configure/client-profile/message-spool)# allow-guaranteed-message-receive
    5. Configure the client profile named default to allow the client to dynamically create endpoints:
      solace(configure/client-profile/message-spool)# allow-guaranteed-endpoint-create
      solace(configure/client-profile/message-spool)# end

      At this point, you are now be able to send and receive Guaranteed messages (see Guaranteed Messages for further information on Guaranteed messaging) using the Solace API samples built according to the Quick Start section in the APIs & Protocols Solace Messaging API Developer Guide.

  6. If you want the appliance to support client applications that use MQTT topic syntax for their message topics and subscriptions, perform the following steps:
    1. Enable the system-level service for MQTT messaging:
      solace> enable
      solace# configure
      solace(configure)# service mqtt
      solace(configure/service/mqtt)# no shutdown
      solace(configure/service/mqtt)# end
    2. Configure a listen port for plain-text MQTT service on the Message VPN default:

      solace> enable
      solace# configure
      solace(configure)# message-vpn default
      solace(configure/message-vpn)# service mqtt
      solace(configure/message-vpn/service/mqtt)# listen-port 1234
    3. Enable plain-text MQTT service on the Message VPN default:

      solace(configure/message-vpn/service/mqtt)# no plain-text shutdown
      solace(configure/message-vpn/service/mqtt)# end