Feature Support in PubSub+ Messaging APIs

All the PubSub+ Messaging APIs 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 PubSub+ Messaging API that's right for your requirements. API- or platform-specific features are described on the individual PubSub+ Messaging API pages. The following table shows the PubSub+ Messaging API support for various features:

  • A minimum event broker version where required, otherwise the feature is available in all supported event broker versions.
  • A minimum API version where required, otherwise feature support for each API is indicated using the following symbols:
    • A green check with no version number beneath it indicates that the feature is available in all supported API versions.—A green check with no version number beneath it indicates that the feature is available in all supported API versions.
    • A gray cross indicates that this feature is not currently supported.—A gray cross indicates that this feature is not currently supported.
    • A gray dash indicates that this feature cannot be supported due to technical limitations in the API. —A gray dash indicates that this feature cannot be supported due to technical limitations in the API.
Feature C .NET Java RTO JCSMP Java JMS JavaScript Node.js Python Go

Direct and Guaranteed Messaging Support

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Request and Reply Messaging

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.1+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

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

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Logging and Customizing through Property Parameters

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Local Transactions

 

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray cross indicates that this feature is not currently supported.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.4+

A gray cross indicates that this feature is not currently supported.

XA Transactions

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

PubSub+ Cache Client Support

 

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray cross indicates that this feature is not currently supported.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.6+

A gray cross indicates that this feature is not currently supported.

Durable Endpoint Provisioning

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Durable Endpoint Deprovisioning

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray cross indicates that this feature is not currently supported.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported.

On-Behalf-Of Topic Subscription Manager

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions. A green check with no version number beneath it indicates that the feature is available in all supported API versions. A green check with no version number beneath it indicates that the feature is available in all supported API versions. A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported.

Use Selectors

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Streaming Compressed Connection Support

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

End-to-End Payload Compression Support

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.30+

A gray cross indicates that this feature is not currently supported. A gray cross indicates that this feature is not currently supported.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.24+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.7+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.25+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.8+

A gray cross indicates that this feature is not currently supported.

Support for Proxy Server Connections (HTTP and SOCKS5)

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

OAuth 2.0 Authentication

event broker version 9.12+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.21+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.16+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.21+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.13+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.1+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.13+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.9+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.9+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.3+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

OAuth Token Refresh

event broker version 10.1+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.24+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.19+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.3+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.16+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.1+

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.10+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.10+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.5+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.2+

Kerberos Authentication

 

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray cross indicates that this feature is not currently supported.

A gray cross indicates that this feature is not currently supported.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.2+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Distributed Tracing (Context Propagation)

event broker version 10.2+

A gray cross indicates that this feature is not currently supported.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.21+

A gray cross indicates that this feature is not currently supported.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.7+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.15+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.15+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.7+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.5+

Replay

event broker version 9.9+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.18+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.12+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.18+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.11+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.7+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.7+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.2+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Delayed Redelivery

event broker version 10.3+

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.18+

A gray cross indicates that this feature is not currently supported.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.18+

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

Topic Dispatch

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

Negative Acknowledgments (NACKs)

event broker version 10.2+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.26+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.21+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.5+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.17+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.4+

A gray dash indicates that this feature cannot be supported due to technical limitations in the API.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.15+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.15+

A gray cross indicates that this feature is not currently supported.

A gray cross indicates that this feature is not currently supported.

Queue Browsing

 

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.2+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

A gray cross indicates that this feature is not currently supported.

A gray cross indicates that this feature is not currently supported.

Partitioned Queues

event broker version 10.4+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

7.25+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.20+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.4+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.19+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.3+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.19+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.13+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

10.13+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.5+

A green check with no version number beneath it indicates that the feature is available in all supported API versions.

1.3+

For Java, Go, and Python, the Durable Endpoint Provisioning feature is implemented using the Missing Resource Strategy. 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.

Support for Durable Endpoint Provisioning and Deprovisioning

Durable endpoint provisioning allows PubSub+ APIs to provision endpoints on the PubSub+ event broker even if they do not exist ahead of time. For the C, JCSMP, Java RTO, JavaScript, Node.js, and .NET APIs, you can also deprovision these endpoints from the API. For more information about provisioning and deprovisioning endpoints for:

For Java, Go, and Python APIs, the Durable Endpoint Provisioning feature is implemented using the Missing Resource Creation Strategy. When you start a message receiver, the Missing Resource Creation Strategy defines the action to take when an endpoint does not exist. You cannot use the PubSub+ APIs to deprovision endpoints created with the Missing Resource Creation Strategy. For more information about the Missing Resource Creation Strategy for:

Support for Distributed Tracing (Context Propagation)

Context propagation with PubSub+ Messaging APIs is supported by the Solace PubSub+ OpenTelemetry API Libraries. These libraries allow you to inject context into or extract context from PubSub+ event messages.

You deploy the PubSub+ OpenTelemetry API Libraries alongside the PubSub+ Messaging API for the programming language you are using to develop your application. These libraries have dependencies on the OpenTelemetry API (which must also be deployed with your application). For information about the compatibility of the PubSub+ OpenTelemetry API Libraries, PubSub+ Messaging APIs and required dependencies, see Distributed Tracing Version Compatibility.

The PubSub+ OpenTelemetry API Libraries support only W3C propagators.

For information about specific libraries and where to get them, see:

Support for Queue Browsing

Client applications can use the PubSub+ Messaging API to look at Guaranteed messages spooled for a queue in the order of oldest to newest without consuming them. For more information about using queue browsing for:

Support for Partitioned Queues

Partitioned queues allow you to easily scale the number of consumer applications in your event mesh. PubSub+ event brokers ensure that all related events are delivered to the same consumer in the correct sequence and can re-balance the event stream when you add or remove consumers.

Support for Negative Acknowledgments

Consumer applications can send an acknowledgment (ACK) or a negative acknowledgment (NACK) based on the settlement outcome of processing a guaranteed message. Rather than send an explicit acknowledgment (ACK), you can signal a settlement outcome to the event broker with a settle method or function. For more information about using NACKs for:

Support for Request-Reply Messaging

Request-reply messaging is a method of data transmission where applications simulate separate point-to-point channels: one for requests, and another for replies. In request-reply messaging, each request sent from a message requestor requires a reply from a message replier. When a message replier consumes a request message, it sends a reply back to the requestor. For more information about request-reply messaging for:

Support for On-Behalf-Of Topic Subscription Managers

On-Behalf-Of subscriptions allow certain clients, called OBO subscription managers, to subscribe and unsubscribe to topics on behalf of other clients. OBO subscription managers allow your applications to use a single interface for subscription management, which simplifies how you can add and remove subscriptions for multiple clients. For more information about OBO subscription managers for:

Support for End-to-End Payload Compression

End-to-end payload compression, done by the PubSub+ APIs, allows for reduced bandwidth usage and improved performance in your applications. For more information about using message payload compression for: