Guaranteed Message Flows

For a client application to publish Guaranteed messages to or consume Guaranteed messages from the Solace Messaging Platform, it must create one or more Flows within a Session. A Flow is an API concept 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 the Java API, a producer flow is created when an XMLMessageProducer is acquired. For the Java RTO, C, 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 .

Flow APIs for Receiving Messages

Language

API

Java

com.solacesystems.jcsmp.FlowReceiver

Java RTO

com.solacesystems.solclientj.core.handle.FlowHandle

C

solClient_session_createFlow(...)

solClient_opaqueFlow_pt

.NET

SolaceSystems.Solclient.Messaging.IFlow

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.

Browser APIs

Language

API

Java

com.solacesystems.jcsmp.Browser

Java RTO

com.solacesystems.solclientj.core.handle.FlowHandle.PROPERTIES.BROWSER

C

SOLCLIENT_FLOW_PROP_BROWSER

.NET

SolaceSystems.Solclient.Messaging.IBrowser