Managing AMQP 1.0 Messaging

Advanced Message Queuing Protocol (AMQP) 1.0 is an open standard application layer protocol for message-oriented middleware.

Since version 8.4.0 on the Solace VMR and version 8.3.0 on the 3530 / 3560 appliances, Solace routers can provide service for AMQP 1.0 clients.

Required Configurations

To enable AMQP service on a Solace router, the following configurations are required on the router:

  • Guaranteed Messaging and message spooling must be enabled (by default, these are enabled for VMRs). See Configuring Guaranteed Messaging.
  • For any Message VPNs that the AMQP clients will connect to, the client usernames used must have client profiles that allow Guaranteed message publishing and receiving (by default, these are enabled for VMRs). See Managing Client Authorization.
  • System-level AMQP service must be enabled. See Managing AMQP Service.
  • For each Message VPN that AMQP clients will connect to, an AMQP listen port must be configured and AMQP service be enabled. See Managing AMQP Service on VPNs below.

Managing AMQP Service on VPNs

You can perform the following AMQP configurations for each Message VPN that AMQP clients will connect to:

Set Message VPN AMQP Listen Ports

For AMQP clients to connect to a Solace router, you must configure separate listen ports for any Message VPN that they want to connect to.

AMPQ service supports both plain-text and encrypted data on separate ports. If you want to transport plain-text and TLS/SSL data, separate ports must be configured (enter the command below a separate time for each transport type that you want to configure).

To set a listen port for AMQP connections for a Message VPN, enter the following commands:

solace(configure)# message-vpn <vpn-name>

solace(configure/message-vpn)# service amqp

solace(configure/message-vpn/service/amqp)# listen-port <port> [ssl]

Where:

<vpn-name> is the name of an existing Message VPN.

<port> is the port number from 1 to 65535. This port must not be in use for any other service. Note that if the ssl parameter is not included with the command, the port will use a plain text transport.

[ssl] specifies that the given port will use TLS/SSL transport.

Note:   

  • The no version of this command (no listen-port) removes the currently configured port number.
  • To change a port number, the AMQP connection must be shutdown (refer to Enable/Disable AMQP Service for VPNs).

Set the Maximum Number of AMQP Connections

To set the maximum number of AMQP clients that can simultaneously connect to a given Message VPN, enter the following commands:

solace(configure)# message-vpn <vpn-name>

solace(configure/message-vpn)# service amqp

solace(configure/message-vpn/service/amqp)# max-connections <value>

Where:

<vpn-name> is the name of an existing Message VPN.

<value> is the maximum number of simultaneous connections permitted

Note:   

  • The no version of this command (no max-connections) resets the value to the maximum limit supported by the router.
  • This parameter can be set to a value that is higher than the maximum number of simultaneous connections permitted by the router, but the connection limit for the router will still be enforced.

Enable/Disable AMQP Service for VPNs

For each Message VPN, you can enable/disable AMQP service for plain-text or TLS/SSL ports.

The ability to enable/disable AMQP service for specific Message VPNs can be convenient if, for example, you do not want to disable AMQP service at the system level (Enabling System-Level AMQP Service), which would disconnect all AMQP clients on all Message VPNs.

Enabling AMQP Service

  • To enable AMQP plain-text transport service for a Message VPN, enter the following commands:

    solace(configure)# message-vpn <vpn-name>

    solace(configure/message-vpn)# service amqp

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

  • To enable AMQP TLS/SSL transport service for a Message VPN, enter the following commands:

    solace(configure)# message-vpn <vpn-name>

    solace(configure/message-vpn)# service amqp

    solace(configure/message-vpn/service/amqp)# no ssl shutdown

Disabling AMQP Service

  • To disable AMQP TCP plain-text transport service for a Message VPN, enter the following commands:

    solace(configure)# message-vpn <vpn-name>

    solace(configure/message-vpn)# service amqp

    solace(configure/message-vpn/service/amqp)# plain-text shutdown

  • To disable AMQP TLS/SSL transport service for a Message VPN, enter the following commands:

    solace(configure)# message-vpn <vpn-name>

    solace(configure/message-vpn)# service amqp

    solace(configure/message-vpn/service/amqp)# ssl shutdown

  • Note:  Disabling a service will disconnect any clients currently connected to its configured listen port.