Version: 10.16.0

Classes

solace.AbstractQueueDescriptor

This class is not exposed for construction by API users.

This is a base class for solace.QueueDescriptor. API users should access the methods described here through a solace.QueueDescriptor.

solace.Baggage

This class abstracts baggage metadata used for distributed message tracing with Solace messaging APIs types. This class is for internal use only.

solace.CacheCBInfo

Encapsulates a solace.CacheSession's request listener callback function and optional application-specified context object.

Instances of this class are required as a parameter to solace.CacheSession#sendCacheRequest when creating a CacheSession request.

solace.CacheRequestResult

This class is not exposed for construction by API users. A CacheRequestResult object is provided on the callback (see solace.CacheCBInfo.cacheRequestCallback when a cache request completes.

An object that indicates the termination of a cache request, and provides details how it concluded.

solace.CacheSession

This class is not exposed for construction by API users. Users should obtain an instance from solace.Session#createCacheSession

A session for performing cache requests.

Applications must use solace.Session#createCacheSession to construct this class.

The supplied solace.CacheSessionProperties will be copied. Subsequent modifications to the passed properties will not modify the session. The properties may be reused.

solace.CacheSessionProperties

Encapsulates the properties of a cache session.

solace.Destination

This class is not exposed for construction by API users. Users should obtain an instances from one of the following:

Represents a message destination.

Publishers can send messages to topics or queues, to which subscribers can subscribe or bind. A Destination specifies the target of such an operation.

solace.LogImpl

A class that provides a binding to a log implementation. Applications that need to control API logging must construct a LogImpl instance, a log implementation that can be set in solace.SolclientFactoryProperties#logger. The binding will call the supplied log methods with the parameters supplied to each.

solace.Message

This class is not exposed for construction by API users. Users should obtain an instance from solace.SolclientFactory.createMessage

A message is a container that can be used to store and send messages to and from the Solace Message Router.

Applications manage the lifecycle of a message; a message is created by calling solace.SolclientFactory.createMessage and is freed by dereferencing it.

API operations that cache or mutate messages always take a copy. A message may be created, mutated by the API user, and sent multiple times.

The Message Object provides methods to manipulate the common Solace message header fields that are optionally sent in the binary metadata portion of the Solace message.

Applications can also use the structured data API solace.Message#setSdtContainer to add containers (maps or streams) and their fields to the binary payload or to the User Property map contained within the binary metadata.

This does not prevent applications from ignoring these methods and sending payload in the binary payload as an opaque binary field for end-to-end communications

solace.MessageConsumer

This class is not exposed for construction by API users. A Message Consumer is created by calling solace.Session#createMessageConsumer.

A MessageConsumer controls Guaranteed Message delivery to this client.

Consumer characteristics and behavior are defined by solace.MessageConsumerProperties. The properties can also be supplied as a simple key-value {Object}. The queue descriptor, solace.MessageConsumerProperties#queueDescriptor must be specified to identify the Guaranteed Message Queue or Guaranteed Message Topic Endpoint on the Solace Message Router.

The MessageConsumer object is an EventEmitter, and will emit events to which the application may choose to subscribe, such as the connection to the Solace Message Router going up or down.

If a registered listener for an emitted event throws an exception, this is caught and emitted as an 'error'.

solace.MessageConsumerEvent

Message consumer event objects. A solace.MessageConsumer will emit these events related to queue subscription management: MessageConsumerEventName.SUBSCRIPTION_OK and MessageConsumerEventName.SUBSCRIPTION_ERROR.

Similar to SessionEvent. Also compatible with RequestError.

solace.MessageConsumerProperties

Defines the properties for a solace.MessageConsumer.

solace.MessagePublisherProperties

Properties that define the configuration for a guaranteed message publisher.

solace.MessageRxCBInfo

Encapsulates the session's message receive callback function and an optional user-specified object.

This class is passed to solace.SolclientFactory.createSession when creating a session.

solace.NotImplementedError

This class is not exposed for construction by API users. An error thrown when calling an API that has not been implemented.

solace.OperationError

This class is not exposed for construction by API users. An error thrown by the API when an operational error is encountered.

solace.QueueBrowser

This class is not exposed for construction by API users. A Queue Browser is created by calling solace.Session#createQueueBrowser.

A Queue Browser allows client applications to look at messages spooled on Endpoints without removing them. Messages are browsed from oldest to newest. After being browsed, messages are still available for consumption over normal flows. However, it is possible to selectively remove messages from the persistent store of an Endpoint. In this case, these removed messages will no longer be available for consumption. Note: If browsing a queue with an active consumer, no guarantee is made that the browser will receive all messages published to the queue. The consumer can receive and acknowledge messages before they are delivered to the browser.

One typical application is to use Browsers to allow message bus administrators to remove “stuck” Guaranteed messages from an Endpoint without having to modify or disrupt existing applications. A message can get stuck if:

1) It has been received by an application, but for some reason, that application has failed to acknowledge it. 2) All active message selectors have failed to match this particular message and therefore the message bus has not delivered it to any client yet. The current release only supports browsing Endpoints of type Queue.

Note that the delivery restrictions imposed by the queue’s Access type (exclusive or non-exclusive), do not apply when browsing messages with a Browser.

Browser characteristics and behavior are defined by solace.QueueBrowserProperties. The properties can also be supplied as a simple key-value {Object}. The queue descriptor, solace.QueueBrowserProperties#queueDescriptor must be specified to identify the Guaranteed Message Queue on the Solace Message Router.

The Browser is an EventEmitter, and will emit events to which the application may choose to subscribe, such as the connection to the Solace Message Router going up or down.

If a registered listener for an emitted event throws an exception, this is caught and emitted as an 'error'.

solace.QueueBrowserProperties

Defines the properties for a solace.QueueBrowser.

solace.QueueDescriptor

QueueDescriptor

solace.QueueProperties

Represents a queue properties object. May be passed in to solace.Session#createMessageConsumer when creating a solace.MessageConsumer object. Upon creation of a queue, undefined queue properties are set to default values chosen by the router.

solace.ReplayStartLocation

Defines the ReplayStartLocation class. The ReplayStartLocation is set in the corresponding MessageConsumer property solace.MessageConsumerProperties#replayStartLocation The single member variable, _replayStartTime is undefined in ReplayStartLocationBeginning and contains the elapsed time in milliseconds since the epoch in ReplayStartLocationDate

solace.ReplayStartLocationBeginning

Defines the ReplayStartLocation class. The ReplayStartLocation is set in the corresponding MessageConsumer property solace.MessageConsumerProperties#replayStartLocation

solace.ReplayStartLocationDate

Defines the ReplayStartLocation class. The ReplayStartLocation is set in the corresponding MessageConsumer property solace.MessageConsumerProperties#replayStartLocation

solace.ReplicationGroupMessageId

This class is not exposed for construction by API users. Users should obtain an instance from solace.SolclientFactory.createReplicationGroupMessageId or from solace.Message.getReplicationGroupMessageId

ReplicationGroupMessageId specifies a Replication Group Message ID. Can be used to specify a solace.ReplayStartLocation for the message after this id. The ReplayStartLocation is set in the corresponding MessageConsumer property solace.MessageConsumerProperties#replayStartLocation.

solace.RequestError

This class is not exposed for construction by API users.

Represents a request failure event; request failure events are passed to the application event handling callback provided when sending the request solace.Session#sendRequest

solace.SDTField

This class is not exposed for construction by API users.

Represents a SDT (Structured Data Type) field. To create an instance of an SDTField, call solace.SDTField.create.

SDTField objects are used in Solace Containers (solace.SDTMapContainer and solace.SDTStreamContainer). The deprecated usage of solace.SDTMapContainer#addField and solace.SDTStreamContainer#addField take a SDTField object as an argument. The preferred usage is to pass a solace.SDTFieldType and value as arguments.

SDTField objectts must be used as an argument to solace.Message#setSdtContainer. The only valid SDTField objects for solace.Message#setSdtContainer are:

solace.SDTMapContainer

Defines a Structured Data Type (SDT) map container.

solace.SDTStreamContainer

Defines a Structured Data Type (SDT) stream container. A stream is an iterable collection of solace.SDTFields.

solace.SDTUnsupportedValueError

This class is not exposed for construction by API users.

Represents a SDT unsupported value error. An SDT field was assigned a value that is within the type range for the given SDT type, but is not supported on this platform/runtime. This occurs when a received solace.SDTContainerMap or solace.SDTContainerStream contains a field with a value that can not represented in the local architecture. Possible causes include:

  • receive 64 bit integer that cannot be represented accurately in a javaScript number. JavaScript numbers are floats and can only hold a 48 bit integer without loss of precission. Any integer greater than 281474976710655 or less than -281474976710655 will cause this exception.
solace.Session

This class is not exposed for construction by API users. Applications must use solace.SolclientFactory.createSession to create a session.

Represents a client Session.

Session provides these major functions:

  • Subscriber control, such as updating subscriptions;
  • Publishes both Direct and Guaranteed Messages to the router;
  • Receives direct messages from the router.

The Session object is an EventEmitter, and will emit events with event names from solace.SessionEventCode when Session events occur. Each session event can be subscribed using solace.Session#on with the corresponding solace.SessionEventCode. If any of the registered event listeners throw an exception, the exception will be emitted on the 'error' event.

solace.SessionEvent

Represents a session event; events are passed to the application-provided event handling callback provided when creating the session.

solace.SessionEventCBInfo

Encapsulates the session's event callback function and an optional user-specified object.

This class is passed to solace.SolclientFactory.createSession when creating a session.

solace.SessionProperties

Represents a session properties object. Passed in to solace.SolclientFactory.createSession when creating a solace.Session instance.

solace.SolaceError

This class is not exposed for construction by API users. The base class for all errors thrown by the API.

solace.SolclientFactoryProperties

Properties used during initialization of solace.SolclientFactory.

solace.Topic

Represents a Topic, which is a type of solace.Destination.

solace.TraceContext

This class abstracts readonly view on a metadata used for distributed message tracing with Solace messaging APIs types. This class is for internal use only.

solace.TraceContextSetter

This class abstracts settable metadata used for distributed message tracing with Solace messaging APIs types. This class is for internal use only.