Configuring Guaranteed Messaging
To enable clients to publish Guaranteed messages to and receive Guaranteed messages from a Solace PubSub+ event brokers, the following event broker configuration steps must be performed:
- The system-level message spool must be configured and enabled. See System-Level Message Spool Configuration.
- Message VPNs that the clients will use must be configured for Guaranteed Messaging. This can also include provisioning durable endpoints. See Message VPN-Level Guaranteed Messaging Configuration.
- Guaranteed Messaging must be enabled for clients.
- By default, on Solace PubSub+ appliances, Guaranteed Messaging is not available for clients—a client profile that allows Guaranteed message publishing and/or receiving must be configured and assigned to a client username used by the clients
- By default, on Solace PubSub+ software event brokers Guaranteed Messaging is enabled for clients.
For more information, see Configuring Guaranteed Messaging Parameters in the Configuring Client Authorization section.
For JMS clients, the Connection Factory that is used must have the direct‑transport
property set to false so that messages will be delivered using the Guaranteed Transport mode instead of the default Direct Transport mode. See Configuring Connection Factories.
Transaction Configuration
For client applications to publish and/or receive messages in local or XA transactions, you must also perform the additional configurations:
- Enable transaction support in the client profile to be used. See Allowing Transacted Sessions.
- If required, increase the value for the maximum number of transactions permitted property for the client profile used. See Configuring the Max Number of Transactions.
- If required, increase the value for the maximum number of messages per transaction permitted property for the client profile used. See Configuring the Max Number of Messages Per Transaction. (Changing the maximum number of messages per transaction is a Controlled Availability (CA) feature and should only be used under the supervision of Solace support.)
- For XA transactions, enable the
xa
property for the Connection Factory that is used. This property allows connecting JMS clients to also use XA transactions. (By default, this property is not enabled for the default Solace Connection Factory.)
CLI Command Sequence Example
The following CLI command sequence example shows the tasks required to start Guaranteed Messaging and configure a queue and topic endpoint on a Solace PubSub+ appliance.
This example assumes that basic event broker configuration tasks, such as starting the Message VPN and tasks described in IP Interface Configuration for Appliances, have been completed beforehand.
solace(configure)# hardware message-spool solace(configure/hardware/message-spool)# disk-array wwn 60:06:01:60:e8:60:1c:00:02:88:44:db:5d:6d:de:11 solace(configure/hardware/message-spool)# no shutdown primary solace(configure/hardware/message-spool)# end solace(configure)# client-profile default solace(configure/client-profile)# allow-guaranteed-message-receive solace(configure/client-profile)# allow-guaranteed-message-send solace(configure/client-profile)# exit solace(configure)# client-username default message-vpn default solace(configure/client-username)# client-profile default solace(configure/client-username)# no shutdown solace(configure/client-username)# exit solace(configure)# message-spool message-vpn default solace(configure/message-spool)# max-spool-usage 60000 solace(configure/message-spool)# create queue testQueue solace(configure/message-spool/queue)# permission all modify-topic solace(configure/message-spool/queue)# no shutdown solace(configure/message-spool/queue)# exit solace(configure/message-spool)# create topic-endpoint testTopicEndpoint solace(configure/message-spool/topic-endpoint)# permission all modify-topic solace(configure/message-spool/topic-endpoint)# no shutdown solace(configure/message-spool/topic-endpoint)# end