Solace Messaging API Concepts
In this section we'll provide you with an overview of Solace Messaging API fundamentals.
Contexts
The Solace Messaging APIs use processing Contexts for organizing communication between an application and a Solace event broker. Contexts act as containers in which zero or more sessions are created and session-related events can be handled. A context encapsulates threads that drive network I/O and message delivery notification for the sessions and session components associated with that context. The life cycle of a context‑owned thread is bound to the life cycle of the Context.
A session can have zero or more:
-
flows
-
cache sessions
-
browsers
-
Solace JCSMP API—One thread is used for I/O and another for notification.
-
Solace Java RTO, C, and .NET APIs—A single thread is used for both I/O and for notification.
For more information, see Contexts.
Sessions
A session creates a single, client connection to an event broker for sending and receiving messages. Sessions also allow applications to add and remove subscriptions.
A client can:
-
bind to endpoints to attract matching guaranteed messages (queues or topic endpoints).
-
publish messages to destinations (topics or queues).
-
add and remove subscriptions that attract messages with matching topics (topics). Subscriptions are also assigned to topic endpoints and optionally queue endpoints.
For more information, see Sessions.
Flows
A consumer flow is an API object that allows applications to receive guaranteed messages from an endpoint, such as a Queue. It is created by a session.
For more information, see Guaranteed Message Flows.


