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 PubSub+ 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 PubSub+ 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 PubSub+ 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 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 CLI (refer to Configuring Queues).
- Topic endpoints can be provisioned on an event broker through the Solace 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 PubSub+ Appliance 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.
PubSub+ 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 PubSub+ 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 PubSub+ 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 appliances 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