| Package | Description |
|---|---|
| com.solacesystems.solclientj.core |
Entry point into the Solace Java RTO Messaging API (
Solclient). |
| com.solacesystems.solclientj.core.event |
Messaging API Event and Callback Interfaces
|
| com.solacesystems.solclientj.core.handle |
Handles for wrapping the various concepts managed in the messaging API.
|
| Modifier and Type | Method and Description |
|---|---|
static int |
Solclient.createContextForHandle(ContextHandle in_out_contextHandle,
java.lang.String[] properties)
Allocates a new Context which will be bound to a given unbound
ContextHandle. |
static int |
Solclient.createMessageForHandle(MessageHandle in_out_messageHandle)
Allocate a new message that can be used for storing and sending messages
to and from the Solace Messaging Appliance.
The allocated message will be bound to a given unbound MessageHandleApplications are responsible for releasing all messages allocated by this method, by calling MessageHandle.destroy() |
static MessageHandle |
Solclient.createNewMessageAndHandle()
A convenience factory method that produces a
MessageHandle with an newly allocated message in the handle. |
static SolclientErrorInfo |
Solclient.getLastErrorInfo()
Returns a SolclientErrorInfo instance, which contains the last captured
error information for the calling thread.
|
static long |
Solclient.getMessageLevelStat(int msgLevelStatEnum)
Returns the value of the specified message statistic.
|
static long |
Solclient.getQuantaLevelStat(int quantaStatEnum,
int quantaIdx)
Returns the quanta level statistic for the given quantaIdx
|
static Version |
Solclient.getVersion()
Returns the Java RTO
Version information |
static int |
Solclient.init(java.lang.String[] properties)
Initializes the Messaging APIs.
This function must be called before any other API interface call is made, with the exception of Solclient.setLogLevel(), which can be called first to set the Log level. |
static int |
Solclient.setLogLevel(java.util.logging.Level javaLogLevel)
Sets the log level to the desired java logging level.
|
| Modifier and Type | Method and Description |
|---|---|
int |
MessageDispatcher.subscribe(MessageDispatchTargetHandle in_out_msgDispatchTargetHandle,
int flags,
long correlationKey) |
int |
MessageDispatcher.subscribe(MutableMessageDispatchTargetHandle in_out_mutableMessageDispatchTargetHandle,
MutableTopic subscription,
MessageCallback messagecallback,
boolean isLocalDispatchOnly,
int flags,
long correlationKey) |
int |
MessageDispatcher.unsubscribe(MessageDispatchTargetHandle in_out_msgDispatchTargetHandle,
int flags,
long correlationKey) |
int |
MessageDispatcher.unsubscribe(MutableMessageDispatchTargetHandle in_out_mutableMessageDispatchTargetHandle,
int flags,
long correlationKey) |
| Modifier and Type | Method and Description |
|---|---|
int |
FlowHandle.ack(long adMsgId)
Sends an acknowledgement for a message received over this flow.
|
int |
FlowHandle.ack(MessageHandle messageHandle)
Sends an acknowledgement for a message received over this flow.
|
int |
CacheSessionHandle.cancelCacheRequests()
Cancel all in progress cache requests for a given cache session.
|
int |
StatsSupport.clearStats()
Clears statistics
|
int |
TransactedSessionHandle.commit()
Commit the active transaction of a specified Transacted Session.
|
int |
ReplicationGroupMessageIdHandle.compare(ReplicationGroupMessageIdHandle otherReplicationGroupMessageIdHandle)
Compares this instance of the ReplicationGroupMessageIdHandle object with the passed in other ReplicationGroupMessageIdHandle object.
|
int |
SessionHandle.connect()
Connects the session.
|
int |
SessionHandle.createCacheSessionForHandle(CacheSessionHandle in_out_cacheSessionHandle,
java.lang.String[] properties,
CacheSessionEventCallback cacheSessionEventCallback)
Creates a
CacheSessionHandle instance |
int |
TransactedSessionHandle.createFlowForHandle(FlowHandle in_out_flowHandle,
java.lang.String[] flowProperties,
Endpoint endpoint,
Subscription subscription,
MessageCallback messageCallback,
FlowEventCallback flowEventCallback)
Create a transacted consumer Flow within a specified Transacted Session.
|
TopicEndpoint |
SessionHandle.createNonDurableTopicEndpoint()
Creates a non-durable Topic Endpoint (with auto generated name).
|
TopicEndpoint |
SessionHandle.createNonDurableTopicEndpoint(java.lang.String name)
Creates a non-durable Topic Endpoint with the given name.
|
TopicEndpoint |
SessionHandle.createNonDurableTopicEndpoint(java.lang.String[] endpointProperties)
Creates a non-durable Topic Endpoint (with auto generated name).
|
TopicEndpoint |
SessionHandle.createNonDurableTopicEndpoint(java.lang.String name,
java.lang.String[] endpointProperties)
Creates a non-durable Topic Endpoint with the given name.
|
int |
ContextHandle.createSessionForHandle(SessionHandle in_out_sessionHandle,
java.lang.String[] properties,
MessageCallback messageCallback,
SessionEventCallback sessionEventCallback)
Allocates a new session instance which will be bound to an unbound
SessionHandle
within a specified Context. |
Queue |
SessionHandle.createTemporaryQueue()
Creates a temporary Queue for this session.
|
Queue |
SessionHandle.createTemporaryQueue(java.lang.String name)
Creates a temporary Queue for this session with a given name.
|
Queue |
SessionHandle.createTemporaryQueue(java.lang.String[] endpointProperties)
Creates a temporary Queue for this session.
|
Queue |
SessionHandle.createTemporaryQueue(java.lang.String name,
java.lang.String[] endpointProperties)
Creates a temporary Queue for this session with a given name.
|
Topic |
SessionHandle.createTemporaryTopic()
Creates a temporary Topic for this session (with auto generated name).
|
int |
SessionHandle.createTransactedSessionForHandle(TransactedSessionHandle in_out_txSession,
java.lang.String[] properties)
Creates a transacted session on the given Session instance.
|
void |
MessageHandle.deleteApplicationMessageId()
Deletes the previously set Application Message Id
|
void |
MessageHandle.deleteApplicationMessageType()
Deletes the previously set Application Message Type
|
void |
MessageHandle.deleteCorrelationId()
Deletes the previously set Correlation Id
|
void |
MessageHandle.deleteHttpContentEncoding()
Deletes the previously set HTTP Content Encoding
|
void |
MessageHandle.deleteHttpContentType()
Deletes the previously set HTTP Content Type
|
void |
MessageHandle.deleteQueuePartitionKey()
This method allows the application to delete the queue partition key for the message.
|
void |
MessageHandle.deleteSenderId()
Deletes the previously set senderId
|
void |
MessageHandle.deleteSenderTimestamp()
Deletes a previously set Sender Timestamp
|
void |
MessageHandle.deleteSequenceNumber()
Deletes a previously set Sequence Number
|
int |
SessionHandle.deprovision(Endpoint endpoint,
int deprovisionFlags,
long correlationKey)
Deprovisions or removes a durable
TopicEndpoint or
Queue from the
Appliance. |
void |
Handle.destroy()
This method will destroy the native object associated
with this Handle instance.
|
void |
MessageDispatchTargetHandle.destroy()
This method will destroy the the message dispatch associated
with this instance.
|
void |
MutableMessageDispatchTargetHandle.destroy()
This method will destroy the the message dispatch associated
with this instance.
|
int |
SessionHandle.disconnect()
Disconnects the session.
|
java.lang.String |
MessageHandle.dump(int dumpMode)
Display the contents of a message in human-readable form.
|
java.lang.String |
MessageHandle.dump(int dumpMode,
int maxStrLen)
Display the contents of a message in human-readable form.
|
boolean |
MessageHandle.getAckImmediately()
Returns the ACK Immediately message property.
|
java.lang.String |
MessageHandle.getApplicationMessageId()
This method allows the application to retrieve the string that
is the ApplicationMessageId.
|
java.lang.String |
MessageHandle.getApplicationMessageType()
This method allows the application to retrieve the String that is
the ApplicationMessageType.
|
int |
MessageHandle.getBinaryAttachment(java.nio.ByteBuffer content)
Retrieve the contents of the binary attachment part into a given
ByteBuffer. |
int |
MessageHandle.getBinaryAttachmentSize()
Retrieve the size of the Binary Attachment
|
int |
MessageHandle.getCacheRequestId(MutableLong cacheRequestId)
If a received message contains a message returned from SolCache due to a
previously issued cache request (
CacheSessionHandle.sendCacheRequest), then the received message will
also contain the cache requestId set by the application in the cache
request. |
int |
MessageHandle.getCacheStatus() |
java.lang.Object |
SessionHandle.getCapability(java.lang.String capabilityName)
Returns the value of a given
CapabilityName on the given session |
ClientName |
SessionHandle.getClientName()
Returns the
ClientName reflecting the currently assigned client name by the
Appliance. |
java.lang.String |
MessageHandle.getCorrelationId()
This method allows the application to retrieve the string that
is the CorrelationId.
|
int |
MessageHandle.getCorrelationKey(MutableLong correlationKey)
Fetch the CorrelationKey into a MutableLong if available.
|
boolean |
MessageHandle.getDeliverToOne()
Deprecated.
New applications should use shared subscriptions instead.
|
int |
MessageHandle.getDeliveryCount()
Get message delivery count
|
Destination |
FlowHandle.getDestination()
Returns the
Destination to which messages should be published to get to
this flow's bound Endpoint. |
Destination |
MessageHandle.getDestination()
Get the
Destination field (queue or topic), which is the
destination this message was published to. |
MutableTopic |
MessageHandle.getDestination(MutableTopic mutableTopic)
Get the
Destination field (mutable topic), which is the
destination this message was published to. |
java.lang.String |
MessageHandle.getDestinationTopicSuffix(SessionHandle in_sessionHandle)
This method returns the suffix of the topic string.
|
boolean |
MessageHandle.getDiscardIndication()
Test the discard indication status.
|
boolean |
MessageHandle.getDMQEligible()
Test the Dead Message Queue (DMQ) eligible property.
|
boolean |
MessageHandle.getElidingEligible()
Test the ElidingEligible attribute.
|
long |
MessageHandle.getExpiration()
Return the Message Expiration timestamp.
|
long |
MessageHandle.getGuaranteedMessageId()
The Guaranteed MessageId is a identifier in each received message on a
FlowHanlde. |
java.lang.String |
MessageHandle.getHttpContentEncoding() |
java.lang.String |
MessageHandle.getHttpContentType() |
int |
MessageHandle.getMessageDeliveryMode() |
int |
MessageHandle.getPriority()
Get message priority.
|
java.lang.String |
FlowHandle.getProperty(java.lang.String flowPropertyName)
Gets the value of the specified Flow property for the Flow.
|
java.lang.String |
SessionHandle.getProperty(java.lang.String propertyName)
Returns the property value for a given session property
|
java.lang.String |
MessageHandle.getQueuePartitionKey()
This method allows the application to retrieve the queue partition key for the message.
|
long |
MessageHandle.getReceiveTimestamp()
Gets the receive timestamp (in milliseconds, from midnight, January 1,
1970 UTC).
|
Destination |
MessageHandle.getReplyTo() |
MutableTopic |
MessageHandle.getReplyTo(MutableTopic mutableTopic) |
void |
StatsSupport.getRxStats(long[] in_out_RxStats)
Fill out all the available Receive statisticss in the given long[] array
The array needs to be long enough ( SolEnum.StatRx.getEnumCount())
to fit all the values shown in
SolEnum.StatRx |
java.lang.String |
MessageHandle.getSenderId()
This method allows the application to retrieve the string that
is the SenderID.
|
int |
MessageHandle.getSenderTimestamp(MutableLong senderTimerstamp) |
int |
MessageHandle.getSequenceNumber(MutableLong sequenceNumber)
Get message sequence number into the MutableLong parameter.
|
SessionHandle |
FlowHandle.getSession()
Returns the
SessionHandle associated with this flow |
SessionHandle |
TransactedSessionHandle.getSession()
Returns the associated SessionHandle
|
java.lang.String |
TransactedSessionHandle.getSessionName() |
long |
MessageHandle.getTimeToLive()
get the Time To Live (TTL) from a message.
|
TransactedSessionHandle |
FlowHandle.getTransactedSession()
Returns the TransactedSessionHandle.
|
void |
StatsSupport.getTxStats(long[] in_out_TxStats)
Fill out all the available Transmit statistics in the given long[] array
The array needs to be long enough ( SolEnum.StatTx.getEnumCount())
to fit all the values shown in
SolEnum.StatTx |
int |
MessageHandle.getUserCos()
Get the Class of Service from a message.
|
int |
MessageHandle.getUserData(java.nio.ByteBuffer userDataBuffer)
Copies the User Data header bytes into the userDataBuffer.
|
boolean |
SessionHandle.isCapable(java.lang.String capabilityName)
Checks if the specified capability type is set on the given session
|
boolean |
MessageHandle.isRedelivered()
Applies only when
SolEnum.MessageDeliveryMode is
SolEnum.MessageDeliveryMode.PERSISTENT or
SolEnum.MessageDeliveryMode.NONPERSISTENT. |
boolean |
MessageHandle.isReplyMessage() |
int |
SessionHandle.modifyClientInfo(java.lang.String[] sessionPropertyNameValuePairs,
int flags,
long correlationKey)
Allows the following client info properties of a Session
to be modified after the Session has been created.
|
int |
SessionHandle.modifyProperties(java.lang.String[] sessionPropertyNameValuePairs)
Allows the following properties of a Session to be modified
after the Session has been created.
|
int |
SessionHandle.provision(Endpoint endpoint,
int provisionFlags,
long correlationKey)
Provisions or creates a durable
TopicEndpoint or
Queue on the
Appliance. |
int |
FlowHandle.receive(MessageHandle in_out_MsgHandle,
int timeout)
Note: This operation is only supported on a Transacted Flow, which must have
been created on a
TransactedSessionHandle |
int |
TransactedSessionHandle.rollback()
Rollback the active transaction of a specified Transacted Session.
|
int |
SessionHandle.send(MessageHandle in_msgHandle)
Sends a message over the session.
|
int |
TransactedSessionHandle.send(MessageHandle msg)
Sends a Guaranteed Delivery message on the specified Transacted Session.
|
int |
SessionHandle.send(MessageHandle[] in_messageHandles,
int offset,
int length,
MutableInteger in_out_howManySent)
Sends an array of messages over the session.
|
int |
CacheSessionHandle.sendCacheRequest(long requestId,
java.nio.ByteBuffer topic,
int cacheRequestFlags,
int liveDataAction,
int subscribeFlags)
Deprecated.
Applications should use a MutableTopic. A MutableTopic may be set/changed by the application
as needed. The MutableTopic can then be passed into
CacheSessionHandle.sendCacheRequest(long, Topic, int, int, int). |
int |
CacheSessionHandle.sendCacheRequest(long requestId,
Topic topic,
int cacheRequestFlags,
int liveDataAction,
int subscribeFlags)
Sends a cache request.
|
int |
SessionHandle.sendReply(MessageHandle in_msgToReplyTo,
MessageHandle in_replyMsg)
Sends a Reply Message.
|
int |
SessionHandle.sendRequest(MessageHandle in_requestMsgHandle,
MessageHandle in_out_replyMsgeHandle,
int timeoutInMsecs)
Sends a Request message for a given Topic.
|
void |
MessageHandle.setAckImmediately(boolean ackImmediately)
Set the optional ACK Immediately message property.
|
void |
MessageHandle.setApplicationMessageId(java.lang.String appMsgId) |
void |
MessageHandle.setApplicationMessageType(java.lang.String appMsgType)
This method allows the application to set
the ApplicationMessageType.
|
void |
MessageHandle.setAsReplyMessage(boolean asReplyMessage)
Set the reply attribute of the message.
|
void |
MessageHandle.setBinaryAttachment(byte[] content)
Set the contents of the binary attachment part by copying in from the
given
byte[] array. |
void |
MessageHandle.setBinaryAttachment(byte[] content,
int offset,
int length)
Set the contents of the binary attachment part by copying in a range of
data from the given
byte[] array. |
void |
MessageHandle.setBinaryAttachment(java.nio.ByteBuffer binaryAttachment)
Set the contents of the binary attachment part by copying in from the
given
ByteBuffer. |
void |
MessageHandle.setCorrelationId(java.lang.String correlationId)
Set the Correlation Id in the binary meta data header.
|
void |
MessageHandle.setCorrelationIdFromMessage(MessageHandle respondToMessageHandle)
This convenience method is a shortcut that allows an application to populate
the CorrelationId of an
MessageHandler by copying the CorrelationId of
the given MessageHandle. |
void |
MessageHandle.setCorrelationKey(long tag)
Sets the correlation key on the given message.
|
void |
MessageHandle.setDeliverToOne(boolean dto)
Deprecated.
New applications should use shared subscriptions instead.
|
void |
MessageHandle.setDestination(Destination destination)
|
void |
MessageHandle.setDestinationFromMessageReplyTo(MessageHandle messageHandle)
This convenience method is a shortcut that allows an application to set
the Destination of an
MessageHandler by copying the Reply-To of
the given MessageHandle. |
void |
MessageHandle.setDMQEligible(boolean dmqEligible)
Set the Dead Message Queue (DMQ) eligible property on a message.
|
void |
MessageHandle.setElidingEligible(boolean eld)
Set the ElidingEligible property on a message.
|
void |
MessageHandle.setExpiration(long exp)
Set the expiration time field.
|
void |
MessageHandle.setHttpContentEncoding(java.lang.String contentEncoding)
Set the HTTP Content Encoding in the binary meta data header.
|
void |
MessageHandle.setHttpContentType(java.lang.String contentType)
Set the HTTP Content Type in the binary meta data header.
|
int |
FlowHandle.setMaxUnacked(int numOfMaxUnackedMsgs)
Changes the maximum number of unacknowledged messages that may be received
on the specified Flow.
|
void |
MessageHandle.setMessageDeliveryMode(int mode) |
void |
MessageHandle.setPriority(int priority)
Set message priority.
|
void |
MessageHandle.setQueuePartitionKey(java.lang.String queuePartitionKey)
This method allows the application to set the queue partition key for the message.
|
void |
MessageHandle.setReplyTo(Destination destination)
* Performance Tip: If your application is setting the
ReplyTo address on many messages to the same destination or set of
destinations consider using
NativeDestinationHandle to create a
set of NativeDestination objects that can be re-used. |
void |
MessageHandle.setReplyToSuffix(SessionHandle in_sessionHandle,
java.lang.String replyToSuffix)
Append an application-specified suffix to the default topic destination
for the Session.
|
void |
MessageHandle.setSenderId(java.lang.String senderId)
Set the SenderId.
|
void |
MessageHandle.setSenderTimestamp(long ts)
Set the Sender Timestamp field.
|
void |
MessageHandle.setSequenceNumber(long sequenceNumber)
Set the Sequence Number in the message.
|
void |
MessageHandle.setTimeToLive(long ttl)
Set the Time To Live (TTL) for a message.
|
int |
FlowHandle.settle(long adMsgId,
int messageOutcome)
Settles a message in a requested way.
|
int |
FlowHandle.settle(MessageHandle messageHandle,
int messageOutcome)
Settles a message in a requested way.
|
void |
MessageHandle.setUserCos(int userCos)
Set the Class of Service to use for transmission.
|
void |
MessageHandle.setUserData(byte[] userData)
Set the contents of the User Data header by copying in from the given
byte[] array. |
void |
MessageHandle.setUserData(byte[] userData,
int offset,
int length)
Set the contents of the User Data header by copying in a range of data
from the given
byte[] array. |
void |
MessageHandle.setUserData(java.nio.ByteBuffer userDataBuffer)
Set the contents of the message User Data header by copying in from the
given
ByteBuffer. |
int |
FlowHandle.start()
Opens the receiver on the specified Flow.
|
int |
FlowHandle.stop()
Closes the receiver on the specified Flow.
|
int |
SessionHandle.subscribe(java.nio.ByteBuffer subscription,
int subscribeFlags,
long correlationKey)
Deprecated.
Applications should use a MutableTopic. A MutableTopic may be set/changed by the application
as needed. The MutableTopic can then be passed into
SessionHandle.subscribe(Subscription, int, long). |
int |
SessionHandle.subscribe(Endpoint endpoint,
java.nio.ByteBuffer subscription,
int flags,
long correlationKey)
Deprecated.
Applications should use a MutableTopic. A MutableTopic may be set/changed by the application
as needed. The MutableTopic can then be passed into
SessionHandle.subscribe(Endpoint, Subscription, int, long). |
int |
SessionHandle.subscribe(Endpoint endpoint,
Subscription subscription,
int flags,
long correlationKey)
Adds a Topic Subscription on the given Endpoint (if supported), Typically
this is done on a
Queue or
ClientName |
int |
SessionHandle.subscribe(Subscription subscription,
int subscribeFlags,
long correlationKey)
Adds a
Subscription to a Session. |
int |
SessionHandle.subscribeOnBehalfOfClient(java.nio.ByteBuffer clientname,
java.nio.ByteBuffer topic,
int flags,
long correlationKey)
Adds a Topic Subscription to a given
ClientName |
void |
MessageSupport.takeRxMessage(MessageHandle in_out_messageHandle)
Use this method to make the received message available outside the scope
of
MessageCallback.onMessage() Note: client
applications must call Handle.destroy() on the MessageHandle
reference when they are done with it |
int |
SessionHandle.unsubscribe(java.nio.ByteBuffer subscription,
int flags,
long correlationKey)
Deprecated.
Applications should use a MutableTopic. A MutableTopic may be set/changed by the application
as needed. The MutableTopic can then be passed into
SessionHandle.unsubscribe(Subscription, int, long). |
int |
SessionHandle.unsubscribe(Endpoint endpoint,
java.nio.ByteBuffer subscription,
int flags,
long correlationKey)
Deprecated.
Applications should use a MutableTopic. A MutableTopic may be set/changed by the application
as needed. The MutableTopic can then be passed into
SessionHandle.unsubscribe(Endpoint, Subscription, int, long). |
int |
SessionHandle.unsubscribe(Endpoint endpoint,
Subscription subscription,
int flags,
long correlationKey)
Removes a Topic Subscription from the given Endpoint (if supported).
|
int |
SessionHandle.unsubscribe(Subscription subscription,
int flags,
long correlationKey)
Removes a
Subscription from a Session. |
int |
SessionHandle.unsubscribe(TopicEndpoint topicEndpoint,
long correlationKey)
Unsubscribes from a durable Topic Endpoint.
|
int |
SessionHandle.unsubscribeOnBehalfOfClient(java.nio.ByteBuffer clientname,
java.nio.ByteBuffer topic,
int flags,
long correlationKey)
Removes a Topic Subscription from a given
ClientName |
int |
SessionHandle.validateTopic(java.nio.ByteBuffer topicNameBuffer)
This method checks a topic name byte buffer against topic encoding rules for the
Appliance.
|
int |
SessionHandle.validateTopic(java.lang.String topicName)
This method checks a topic string against topic encoding rules for the
Appliance.
|
Copyright 2004-2025 Solace Corporation. All rights reserved.