Guaranteed Message Flows
For a client application to publish Guaranteed messages to or consume Guaranteed messages from Solace PubSub+, it must create one or more Flows within a Session. A Flow is an API object that allows applications to send or receive Guaranteed messages.
A subscriber Flow allows applications to receive Guaranteed messages from an endpoint, such as a Queue. Unless otherwise noted, references to Flows are to subscriber Flows.
Flows are also used when a client publishes Guaranteed messages. For JCSMP, a producer flow is created when an XMLMessageProducer
is acquired. For the Java RTO, C, JavaScript, Node.js, and .NET APIs, a producer flow is automatically established when a client begins to send persistent messages in the Session. Refer to Publishing Guaranteed Messages.
PubSub+ Messaging API | Use |
---|---|
JCSMP |
com.solacesystems.jcsmp.FlowReceiver |
Java RTO |
com.solacesystems.solclientj.core.handle.FlowHandle |
C |
solClient_session_createFlow(...) solClient_opaqueFlow_pt |
.NET |
SolaceSystems.Solclient.Messaging.IFlow |
JavaScript and Node.js |
solace.MessageConsumer |
Browsers
A Browser allows client applications to look at messages spooled on Queues from oldest to newest without removing them. After messages are browsed, they can still be received by consumers over Flows.
It is also possible to use a Browser to look at messages and selectively remove them from the Queue. Removed messages can no longer be consumed.
In the Java and .NET APIs, Browsers are objects. In the Java RTO and C APIs, Flows can act as Browsers when a specific FlowHandle or Flow property is set.
The JavaScript and Node.js APIs do not support message browsing.
PubSub+ Messaging API | Use |
---|---|
JCSMP |
com.solacesystems.jcsmp.Browser |
Java RTO |
com.solacesystems.solclientj.core.handle.FlowHandle.PROPERTIES.BROWSER |
C |
SOLCLIENT_FLOW_PROP_BROWSER |
.NET |
SolaceSystems.Solclient.Messaging.IBrowser |
JavaScript and Node.js |
Not applicable |