Detecting Event Broker Capabilities in the PubSub+ JCSMP API

Configuration changes that affect event broker capabilities made after a client has successfully connected to the event broker are not communicated to the client asynchronously. A client will only learn of the changed capabilities if it disconnects and reconnects to the event broker.

To get a specific event broker capability and value in the PubSub+ JCSMP API, use the following:

  • JCSMPSession.getCapability(...)—Returns an object of the type specified in CapabilityType for the currently connected session.

  • JCSMPSession.isCapable(...)—Returns true if the specified CapabilityTypeis set on the currently connected session.

For an example of how to get specific event broker capabilities and values, see the eventMonitor sample in the Solace Developer Hub.

The table below lists some of the event broker features that may be available to Solace messaging APIs for handling messages. It also indicates how to enable these features on the event broker so that the capability is available to the APIs. For a complete list of event broker features, refer to PubSub+ Messaging APIs.

Possible Event Broker Capabilities for PubSub+ Messaging APIs

Capability Available to clients if...

JNDI—The event broker allows clients to perform Java Naming and Directory Interface (JNDI) queries.

JNDI is enabled on the PubSub+ event broker for the Message VPN that the clients connect to.

Compression—The event broker allows clients to send and receive compressed data. Refer to Enabling Channel Compression for a Session in the PubSub+ JCSMP API for the API details.

The event broker is running software version 4.4 or higher.

Guaranteed Subscription Flow—The event broker allows clients to bind Flows to endpoints for receiving Guaranteed messages. Refer to Creating Flows in the PubSub+ JCSMP API for details.

  • Guaranteed Messaging and message spooling are enabled on the event broker.
  • The client profile assigned to clients allows Guaranteed messages to be received through the enabled message spool.

Temporary Endpoints—The event broker allows clients to create temporary endpoints. Refer to Creating Temporary Endpoints in the PubSub+ JCSMP API for the API details.

  • Guaranteed Messaging and message spooling are enabled on the event broker.
  • The client profile assigned to clients allows them to create Guaranteed topic endpoints or queues.

Guaranteed Publishing Flow—The event broker allows clients to publish Guaranteed messages.

Refer to Publishing Guaranteed Messages in the PubSub+ JCSMP API for the API details.

  • Guaranteed Messaging and message spooling are enabled on the event broker.
  • The client profile assigned to clients allows them to publish Guaranteed messages.

Queue Browser—The event broker allows clients to use Queue Browsers. Refer to Browsing Guaranteed Messages in the PubSub+ JCSMP API for the API details.

  • The event broker is running software version 4.6 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.

Endpoint Management—The event broker allows clients to dynamically create and delete durable endpoints. Refer to Defining Endpoint Properties in the PubSub+ JCSMP API for the API details.

  • The event broker is running software version 4.6 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.
  • The client profile assigned to clients allows them to create queues or topic endpoints.

Selectors—The event broker allows clients to use message selectors on Flows. Refer to Using Selectors in the PubSub+ JCSMP API for the API details.

  • The event broker is running software version 4.6 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.

Endpoint Message TTL—The event broker allows clients to use Guaranteed message Time‑to-Live (TTL) values and Dead Message Queues (DMQs). Refer to Setting Message Properties and Defining Endpoint Properties in the PubSub+ JCSMP API for the API details.

  • The event broker is running software version 4.6.1 or higher.
  • Guaranteed Messaging, message spooling, message expiry and DMQs are all enabled on the event broker.

Topic Subscriptions for Queues—The event broker allows clients to add Topic subscriptions to queue endpoints. Refer to Adding Subscriptions to Endpoints in the PubSub+ JCSMP API for the API details.

  • The event broker is running software version 4.6 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.

Subscription Manager—The event broker allows clients to add or remove Topic subscriptions on behalf of other clients. Refer to Managing Topic Subscriptions on Behalf of Other Clients for the API details.

  • The event broker is running software version 5.0 or higher.
  • The client username allow the client to act as Subscription Manager.

Eliding—The event broker allows clients to use message eliding. Refer to Message Eliding Eligibility for the API details.

  • The appliance used is a 3560 or 3260 running software version 4.6 or higher, a 3230 running software version 5.4 or higher.

    Message eliding is not supported on appliances with Network Acceleration Blade-0401EM, as NAB-0401EM does not support eliding.

  • The PubSub+ software event broker used is version 7.2.2 or higher.
  • The client profile assigned to clients allows message eliding.

Transacted Sessions—The event broker allows clients to use local transacted Sessions and XA transactions (JMS only).

For the Java, Java RTO, C, and .NET APIs, refer toUsing Local Transactions in the PubSub+ JCSMP API for the API details.

For the JMS API, refer to Using Transacted Sessions and Using XA Transactions.

  • The event broker is running software version 5.1 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.
  • The client profile assigned to clients allows them to use transacted Sessions with the PubSub+ JCSMP API

No Local—The event broker allows the No Local API property for both Direct and Guaranteed messages.

For Direct Messaging, refer to Enabling No Local Delivery for a Session in the PubSub+ JCSMP API for the API details.

For Guaranteed Messaging, refer to No Local Delivery for the API details.

The event broker is running software version 5.1 or higher.

Sequenced Topics—The event broker allows per topic sequence numbering for Guaranteed messages. Clients can obtain Topic sequence numbers through Get calls. Refer to Getting Message Properties for the API details.

  • The event broker is running software version 5.2 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.
  • One or more sequenced topics are created.

Discard Behavior—The event broker allows clients to configure the message discard behavior when provisioning endpoints. Refer to Defining Endpoint Properties in the PubSub+ JCSMP API for the API details.

  • The event broker is running software version 5.3 or higher.
  • Guaranteed Messaging and message spooling are enabled on the event broker.

System Information Capabilities—Some event broker capabilities provide system information, such as the maximum Guaranteed and Direct message sizes, the software version used, the software release date, and the type and speed of the port on the event broker that the client connects to.

For a complete list of event broker capabilities that provide system information, refer to PubSub+ Messaging APIs.

Always provided.