Working With Guaranteed Messages
Guaranteed Messaging is a message delivery mode offered by the Solace Messaging Platform that guarantees the delivery of a message between two applications even in cases where the receiving application is offline, or there is a failure of a piece of network equipment. Once a Solace router has acknowledged receiving a Guaranteed message from a publisher, it is committed to delivering that message.
Guaranteed Messaging ensures that each published message is reliably delivered only once to a consuming client when its receipt is acknowledged by that consumer, and that messages are delivered in the order they are published. The platform manages transient network outages, router outages, and client disconnections so that publishers can be assured that once a message is accepted by the platform, it is delivered to recipients.
- keeps messages that are tagged as persistent or non-persistent (rather than Direct) across router restarts by spooling (that is, writing) them to persistent storage
- keeps a copy of the message until successful delivery to all clients and downstream routers has been verified
Note: Although a persistent delivery mode is typically used for Guaranteed messages, a non-persistent delivery mode is provided to offer compatibility with Java Message Service (JMS) and to allow the delivery mode of the messages to be modified to accommodate the persistence requirements of an endpoint or a client subscription when there is a topic match (refer to Topic Matching and Message Delivery Modes).
Messages accepted by the platform through Guaranteed Messaging for delivery to clients are never lost, but might not get accepted if system resource limits are exceeded.
If an ingress message cannot be received by the platform (for example, if the spool quota is exceeded), the publisher is not acknowledged and the appropriate router statistic is incremented.
- To support Guaranteed Messaging, a Solace router must have message spooling enabled. A Solace appliance must also have an Assured Delivery Blade (ADB) installed.
- Guaranteed messages are not routed between separate Solace routers unless Message VPN bridges are specifically configured to link the Messages VPNs on those routers. Refer to Working with Message VPNs.