Solace PubSub+ Messaging APIs

Solace provides enterprise messaging Application Programming Interfaces (APIs) that enable you to develop applications for use with Solace PubSub+. Each PubSub+ Messaging API includes sample applications, release notes, and developer documentation.

These PubSub+ Messaging APIs are designed to be used as a base messaging layer that help various client applications to communicate over the Solace message bus.

The PubSub+ Messaging APIs are provided for the following languages. The links below go to pages that provide more details about the APIs, such as getting started information, reference guides, and release notes:

  • C API—This API is designed to provide high message throughput and low latency with the lowest CPU utilization possible.
  • C# / .NET API—This API is an object-oriented, managed wrapper for the C API.
  • Go API—This API enables cloud-based and enterprise-scale server-based applications to use Solace messaging.
  • iOS API—This API is an iOS native wrapper of the C API specifically designed for high message throughput and low latency. It is also fully integrated with iOS application lifecycle.
  • Java API — This API delivers high message-throughput utilizing modern Java features and programming models.
  • Java RTO API—This API is a low-latency Java Native Interface (JNI) wrapper for the C API.
  • JCSMP API— This API is a classic, object‑oriented Java API that delivers high message-throughput with low-latency.
  • JavaScript API—This API enables Web and mobile applications to Solace messaging.
  • Node.js API—This API enables server side Web-connected enterprise applications to use Solace messaging and take advantage of the event-based programming enabled by Node.js.
  • Python API—This API enables cloud-based and enterprise-scale server-based applications to use Solace messaging.

Feature Summary for the PubSub+ Messaging APIs

The different APIs all support common functionality that is essential for messaging. These APIs evolve over time to meet use-case requirements for client applications, therefore there are slight differences in feature support.

The PubSub+ Messaging API for iOS is a mobile API. For the list of features supported for the iOS API, see iOS API.

Here's a summary of the current support for features; you can use this summary as a comparison to select the messaging API that's right for your requirements. API- or platform-specific features are described on the individual Messaging API pages.

Feature C .NET JavaRTO JCSMP Java JMS JavaScript Node.js Python Go
Direct and Guaranteed Messaging Support

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Request and Reply Messaging

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Structured Data Types (SDTs) that Don't Rely on a Specific Architecture or Programming Language

Green check that indicates supported.

Green check that indicates supported.

 

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Logging and Customizing through Property Parameters

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Local Transactions

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

PubSub+ Cache Client Support

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Queue Browsing

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.
Topic Dispatch

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.
Replay

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Durable Endpoint Provisioning

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Use Selectors

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Message Compression Support

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

XA Transactions

 

Green check that indicates supported.

OAuth 2.0 Authentication

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Kerberos Authentication

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

For Java, Node.js, Go, Python, and JavaScript APIs, the Durable Endpoint Provisioning feature is implemented using the Missing Resource Strategy.

  • For the Node.js and JavaScript APIs—On consumer start, the Missing Resource Strategy defines the action to take when an endpoint does not exist.
  • For Python, Java, and Go APIs—On receiver start, the Missing Resource Strategy defines the action to take when an endpoint does not exist.

The use of the Missing Resource Strategy also means that you cannot deprovision the endpoints.