Solace JNDI Objects

Java Messaging Service (JMS) provides a common way for an enterprise’s Java applications to create, send, receive, and read messages. As of version 10.20, the Solace Messaging API for JMS supports the JMS 2.0 standard.

Java messaging applications can use the Solace implementation of the JMS Application Programming Interface (API) to connect to a Solace event broker.

The event broker can provide JNDI service, which allows JMS clients to perform JNDI lookups and object binding. It also acts as a JMS broker, to access the messaging capabilities of Solace products. The event broker acts as the JMS broker for the JMS client. As such, it provides access control, message routing, selecting, and filtering.

The event broker provides an internal JNDI store for provisioned Connection Factory, Topic, and Queue objects that clients can access through JNDI lookups.

The limit on JNDI objects is determined by the scaling capabilities of the event broker and the total combined number of queues and topic objects, collectively referred to as JNDI endpoints. For the supported limits, see the SolaceEventBroker_<version>_limits_and_alerts HTML page under the relevant broker version folder on the Solace Products website. In version 10.25.12 and earlier, the filename is SolacePubSub_<version>_limits_and_alerts and may be in Excel or HTML format. To access the Solace Products website, use your username and password provided from Solace or your SSO Login. If you have issues accessing the Solace Products website, contact Solace.

The Guaranteed Messaging feature provides a message spooling mechanism to support the persistent store notion of JMS queues (when using a point-to-point messaging model) and subscription names (when using a publish‑subscribe messaging model).

  • Physical queues can be provisioned on an event broker through the Solace Event Broker CLI (refer to Configuring Queues).
  • Topic endpoints can be provisioned on an event broker through the Solace Event Broker CLI (refer to Configuring Topic Endpoints). These topic endpoints must have the same name as the subscription name that they represent.

To use Guaranteed Messaging with JMS messaging, a Solace Appliance Event Broker must have an ADB installed with Guaranteed Messaging and message spooling enabled. For configuration information, refer to Guaranteed Messaging Configuration.

This section describes:

  • the tasks associated with configuring standard object properties and property lists in the JNDI store on an event broker.
  • the Command Line Interface (CLI) commands used to manage administered objects in the JNDI store on an event broker.

Solace event brokers also support JNDI lookups of administered objects maintained in an LDAP-based JNDI store on a remote host. However, this section only provides information on how to work with the JNDI store on an event broker.

The Solace JMS API is JNDI‑compliant and accepts the standard JMS objects Connection Factory, Topic, and Queue.

Standard JMS object properties and property lists can be configured in the JNDI store on the event broker. Through the Solace JMS API, JNDI provides a standard way of accessing naming and directory services on the event broker that allows clients to discover and lookup data and objects through a common name.

Starting/Stopping JNDI Access

By default, JNDI access is not enabled on appliance event brokers for any VPNs. On software event brokers, JNDI access is enabled by default for the default VPN and disabled by default for all other VPNs.

  • To enable JNDI access for clients, enter the following CONFIG command:
    solace(configure/jndi)# no shutdown
  • To stop JNDI access for clients , enter the following CONFIG command:
    solace(configure/jndi)# shutdown