Package com.webmethods.jms.protocol
Class BinaryProtocolHandler
- java.lang.Object
-
- com.webmethods.jms.protocol.ProtocolHandler
-
- com.webmethods.jms.protocol.BinaryProtocolHandler
-
- All Implemented Interfaces:
Protocol
public class BinaryProtocolHandler extends ProtocolHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
BinaryProtocolHandler.BinaryProtocol
The Broker's binary protocol.
-
Field Summary
Fields Modifier and Type Field Description protected int
_currentVersion
protected static java.lang.String[]
SUPPORTED_VERSIONS
static int
VERSION_1015
static int
VERSION_105
static int
VERSION_70
static int
VERSION_82
static int
VERSION_90
-
Fields inherited from class com.webmethods.jms.protocol.ProtocolHandler
_buffer, _bufferEol, _bufferPos, _clientGroup, _clientID, _clientLicenseID, _confirmDelivery, _connection, _isLoggable, _lastResponseFromBroker, _link, _marshalIn, _marshalInUserData, _marshalOut, _marshalOutUserData, _messageFactory, _url, ADMIN_APPLICATION, CLIENT_TYPE_ADMIN, CLIENT_TYPE_CONNECTION, CLIENT_TYPE_DURABLE_SUBSCRIBER, CLIENT_TYPE_PROPERTY, CLIENT_TYPE_QUEUE, CLIENT_TYPE_SUBSCRIBER, CONNECTION_APPLICATION, DURABLE_SUBSCRIBER_APPLICATION, MESSAGE_TYPE_PROPERTY, MESSAGE_TYPE_QUEUE, MESSAGE_TYPE_TEMPORARY_QUEUE, MESSAGE_TYPE_TEMPORARY_TOPIC, MESSAGE_TYPE_TOPIC, MIN_BUFFER_SIZE, QUEUE_APPLICATION, SUBSCRIBER_APPLICATION
-
-
Constructor Summary
Constructors Constructor Description BinaryProtocolHandler(WmConnectionImpl connection, SSLInfo sslinfo)
Create a new link to the Broker.BinaryProtocolHandler(SSLInfo sslinfo)
Create a new link to the Broker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acknowledge(int sessionID, long transactionID, long sequenceNumber)
Acknowledge the given message sequence number.void
acknowledge(int sessionID, long transactionID, long[] sequenceNumbers)
Acknowledge the given list of message sequence numbers.void
acknowledgeThrough(int sessionID, long transactionID, long sequenceNumber, boolean confirm)
Acknowledge received messages through this sequence number.int
beginBrowse(int sessionID, java.lang.String clientID)
Begin browse operations.WmMessageImpl
browse(int sessionID, java.lang.String clientID, int browseID)
Browse the client's messages.void
cancelReceive(int sessionID, int pendingRequestID)
Cancel a request to receive messages from the Broker.void
canPublish(int sessionID, java.lang.String name)
Checks if there are adequate permissions to publish.void
canSubscribe(int sessionID, java.lang.String name)
Checks if there are adequate permissions to subscribe.void
clearQueue(int sessionID)
Clear the queue.void
commit(int sessionID, long transactionID)
Commit a transaction.void
commit(int sessionID, java.lang.String transactionID)
Commit a transaction.void
connect(BrokerURL url)
Start the protocol.void
destroy(int sessionID)
Destroy the underlying Broker client.void
disconnect(int sessionID)
Disconnect the underlying Broker client.protected void
dispatch()
Read Broker replies from the link and dispatch.void
endBrowse(int sessionID, java.lang.String clientID, int browseID)
End browse operations.void
endTransaction(int sessionID, long transactionID, boolean success)
End a transaction.void
forget(int sessionID, java.lang.String transactionID)
Forget a transaction.short[]
getAccessLabel(int sessionID)
java.lang.String
getBrokerName(int sessionID)
Get the name of the broker.int
getPublishProcessState(int sessionID)
long
getQueueLength(int sessionID)
Get the queue length.Reply
getReconnectReply()
java.lang.String
getTerritory(int sessionID)
Get the territoryjava.lang.String
getUniqueID(int sessionID)
Get a unique identifier from the Broker.void
initAccessLabel(int sessionID)
int
initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect)
Initialize the connection.int
initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect, java.lang.String accessLabelHint)
Initialize the connection.int
initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect, java.lang.String userName, java.lang.String password)
Initialize the connection.int
initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect, java.lang.String accessLabelHint, java.lang.String userName, java.lang.String password)
Initialize the connection.int
initializeSession(java.lang.String clientName, boolean queue, boolean priorityOrdering, java.lang.String clientGroup, java.lang.String application, boolean guaranteed, boolean ackNonPersistent, boolean sharedState, int sharedStateOrdering, boolean reconnect, boolean acceptExisting)
Initialize a session to the Broker.int
initializeSession(java.lang.String clientName, boolean queue, boolean priorityOrdering, java.lang.String clientGroup, java.lang.String application, boolean guaranteed, boolean ackNonPersistent, boolean sharedState, int sharedStateOrdering, boolean reconnect, boolean acceptExisting, java.lang.String userName, java.lang.String password)
Initialize the session.void
negativeAcknowledge(int sessionID, long transactionID, long sequenceNumber)
Negative acknowledge the message sequence number.void
negativeAcknowledge(int sessionID, long transactionID, long[] sequenceNumbers)
Negative acknowledge the given list of message sequence numbers.protected java.lang.String[]
parseNameList(java.lang.String nameList)
Parse a name list from a reply "# name1 name2"void
preAcknowledge(int sessionID, long transactionID, boolean is_confirmed, java.lang.String uuid)
Pre-acknowledge the message identified by uuid in envelope fieldvoid
prepare(int sessionID, long transactionID)
Prepare a transaction.void
prepare(int sessionID, java.lang.String transactionID)
Prepare a transaction.void
publish(int sessionID, long transactionID, WmMessageImpl[] messages, int deliveryMode, boolean deliver)
Publish multiple messages.void
publish(int sessionID, long transactionID, WmMessageImpl[] messages, int deliveryMode, boolean deliver, boolean confirmDelivery)
Publish multiple messages.void
publish(int sessionID, long transactionID, WmMessageImpl message, int deliveryMode, boolean deliver)
Publish a message.void
publish(int sessionID, long transactionID, WmMessageImpl message, int deliveryMode, boolean deliver, boolean confirmDelivery)
Publish a message.Notification
receive(int sessionID, long transactionID, int max, long ack, boolean synchronous, ReplyCb cb)
Send a request to receive messages from the Broker.void
reconnect()
java.lang.String[]
recover(int sessionID, int flags, long lastRetrivedTxId)
Recover the prepared transactions.void
rollback(int sessionID, long transactionID)
Rollback a transaction.void
rollback(int sessionID, java.lang.String transactionID)
Rollback a transaction.void
sendKeepAlive(int sessionID)
Send a keep-alive to the Broker.void
sendKeepAliveResponse()
Send a keep-alive reply to a Broker keep-alive request.void
setBrowseFilter(int sessionID, java.lang.String clientID, int browseID, java.lang.String filter)
Set the browse filter.void
setFilter(int sessionID, java.lang.String filter)
Set the session's filter.void
setInfo(int sessionID, java.lang.String clientType)
Set the client's infoset.void
setPlatformInfo(int sessionID)
void
setTransactionID(int sessionID, long transactionID, java.lang.String externalID)
Set the transaction ID to an external ID.void
setTransactionTimeout(int sessionID, long transactionID, int timeout)
Sets the timeout value for the Transaction.long
startTransaction(int sessionID)
Start a transaction.long
startTransaction(int sessionID, int timeout)
Start a transaction.long
startTransaction(int sessionID, java.lang.String transactionID, int timeout, boolean join)
Start a transaction.void
subscribe(int sessionID, java.lang.String name, java.lang.String filter, int subID)
Send a subscription request.Subscription[]
subscriptions(int sessionID)
Get the current subscriptions.void
unsubscribe(int sessionID, java.lang.String name, java.lang.String filter)
Send an unsubscribe request.-
Methods inherited from class com.webmethods.jms.protocol.ProtocolHandler
acquireSendRequestEventsLock, createMessage, disconnect, dispatchReply, getBrokerURL, getClientID, getEncryptionLevel, getPosixFromLocale, getServerCertificate, handleError, isDisconnected, isTransactionCompleted, markForClosure, marshal, nextRequestID, processClientLicense, read, releaseSendRequestEventsLock, sendWithCb, sendWithNoReply, sendWithNoReply, sendWithNoReply, sendWithReply, sendWithReply, sendWithReply, setBrokerInactive, setBrokerURL, setTransactionCompleted
-
-
-
-
Field Detail
-
SUPPORTED_VERSIONS
protected static final java.lang.String[] SUPPORTED_VERSIONS
-
VERSION_70
public static final int VERSION_70
- See Also:
- Constant Field Values
-
VERSION_82
public static final int VERSION_82
- See Also:
- Constant Field Values
-
VERSION_90
public static final int VERSION_90
- See Also:
- Constant Field Values
-
VERSION_105
public static final int VERSION_105
- See Also:
- Constant Field Values
-
VERSION_1015
public static final int VERSION_1015
- See Also:
- Constant Field Values
-
_currentVersion
protected int _currentVersion
-
-
Constructor Detail
-
BinaryProtocolHandler
public BinaryProtocolHandler(SSLInfo sslinfo) throws javax.jms.JMSException
Create a new link to the Broker.- Throws:
javax.jms.JMSException
-
BinaryProtocolHandler
public BinaryProtocolHandler(WmConnectionImpl connection, SSLInfo sslinfo) throws javax.jms.JMSException
Create a new link to the Broker.- Throws:
javax.jms.JMSException
-
-
Method Detail
-
dispatch
protected void dispatch() throws java.io.IOException, javax.jms.JMSException
Read Broker replies from the link and dispatch.- Specified by:
dispatch
in classProtocolHandler
- Throws:
javax.jms.JMSException
- if unable to read the link or parse the replyjava.io.IOException
-
getReconnectReply
public Reply getReconnectReply()
- Specified by:
getReconnectReply
in classProtocolHandler
-
getUniqueID
public java.lang.String getUniqueID(int sessionID) throws javax.jms.JMSException
Get a unique identifier from the Broker.- Returns:
- a unique identifier
- Throws:
javax.jms.JMSException
-
startTransaction
public long startTransaction(int sessionID) throws javax.jms.JMSException
Start a transaction.- Returns:
- the transaction ID
- Throws:
javax.jms.JMSException
- if a transaction cannot be started
-
startTransaction
public long startTransaction(int sessionID, int timeout) throws javax.jms.JMSException
Start a transaction.- Returns:
- the transaction ID
- Throws:
javax.jms.JMSException
- if a transaction cannot be started
-
startTransaction
public long startTransaction(int sessionID, java.lang.String transactionID, int timeout, boolean join) throws javax.jms.JMSException
Start a transaction.- Parameters:
transactionID
- the external transaction IDtimeout
- the transaction timeoutjoin
-true
to join an existing transaction- Returns:
- the transaction ID
- Throws:
javax.jms.JMSException
- if a transaction cannot be started
-
setTransactionID
public void setTransactionID(int sessionID, long transactionID, java.lang.String externalID) throws javax.jms.JMSException
Set the transaction ID to an external ID.- Parameters:
transactionID
- the transaction IDexternalID
- the external ID- Throws:
javax.jms.JMSException
- if a transaction cannot be started
-
endTransaction
public void endTransaction(int sessionID, long transactionID, boolean success) throws javax.jms.JMSException
End a transaction.- Parameters:
transactionID
- the transaction ID- Throws:
javax.jms.JMSException
- if a transaction cannot be started
-
commit
public void commit(int sessionID, long transactionID) throws javax.jms.JMSException
Commit a transaction.- Parameters:
transactionID
- the transaction ID to commit- Throws:
javax.jms.JMSException
- if the transaction cannot be committed
-
commit
public void commit(int sessionID, java.lang.String transactionID) throws javax.jms.JMSException
Commit a transaction.- Parameters:
transactionID
- the transaction ID to commit- Throws:
javax.jms.JMSException
- if the transaction cannot be committed
-
rollback
public void rollback(int sessionID, long transactionID) throws javax.jms.JMSException
Rollback a transaction.- Parameters:
transactionID
- the transaction ID to rollback.- Throws:
javax.jms.JMSException
- if the transaction cannot be rolled back
-
rollback
public void rollback(int sessionID, java.lang.String transactionID) throws javax.jms.JMSException
Rollback a transaction.- Parameters:
transactionID
- the transaction ID to rollback.- Throws:
javax.jms.JMSException
- if the transaction cannot be rolled back
-
recover
public java.lang.String[] recover(int sessionID, int flags, long lastRetrivedTxId) throws javax.jms.JMSException
Description copied from interface:Protocol
Recover the prepared transactions.- Returns:
- a list of prepared transactions
- Throws:
javax.jms.JMSException
-
forget
public void forget(int sessionID, java.lang.String transactionID) throws javax.jms.JMSException
Description copied from interface:Protocol
Forget a transaction.transactionID
- the XA transaction ID- Throws:
javax.jms.JMSException
-
setTransactionTimeout
public void setTransactionTimeout(int sessionID, long transactionID, int timeout) throws javax.jms.JMSException
Sets the timeout value for the Transaction.- Parameters:
sessionID
- the session IDtransactionID
- the transaction IDtimeout
- new timeout value in seconds- Throws:
javax.jms.JMSException
- if a new timeout cannot be set on a transaction
-
prepare
public void prepare(int sessionID, java.lang.String transactionID) throws javax.jms.JMSException
Description copied from interface:Protocol
Prepare a transaction.transactionID
- the XA transaction ID- Throws:
javax.jms.JMSException
-
prepare
public void prepare(int sessionID, long transactionID) throws javax.jms.JMSException
Description copied from interface:Protocol
Prepare a transaction.transactionID
- the XA transaction ID- Throws:
javax.jms.JMSException
-
getQueueLength
public long getQueueLength(int sessionID) throws javax.jms.JMSException
Description copied from interface:Protocol
Get the queue length.- Returns:
- the queue length
- Throws:
javax.jms.JMSException
-
clearQueue
public void clearQueue(int sessionID) throws javax.jms.JMSException
Description copied from interface:Protocol
Clear the queue.- Throws:
javax.jms.JMSException
-
receive
public Notification receive(int sessionID, long transactionID, int max, long ack, boolean synchronous, ReplyCb cb) throws javax.jms.JMSException
Send a request to receive messages from the Broker.- Parameters:
max
- maximum number of messages to receiveack
- acknowledge through this sequence number, used for DUPS-OK acknowledge mode, or -1 to acknowledge nothingcb
- the callback to invoke when the messages arrive- Returns:
- the notification request
- Throws:
javax.jms.JMSException
- if the request cannot be sent
-
cancelReceive
public void cancelReceive(int sessionID, int pendingRequestID) throws javax.jms.JMSException
Cancel a request to receive messages from the Broker.- Parameters:
pendingRequestID
- the pending request ID to cancel- Throws:
javax.jms.JMSException
- if the request cannot be canceled
-
acknowledgeThrough
public void acknowledgeThrough(int sessionID, long transactionID, long sequenceNumber, boolean confirm) throws javax.jms.JMSException
Acknowledge received messages through this sequence number.- Parameters:
sequenceNumber
- the sequence number to acknowledge through- Throws:
javax.jms.JMSException
- if the acknowledgement cannot be sent
-
acknowledge
public void acknowledge(int sessionID, long transactionID, long sequenceNumber) throws javax.jms.JMSException
Acknowledge the given message sequence number.- Parameters:
sequenceNumber
- sequence number to acknowledge- Throws:
javax.jms.JMSException
- if the acknowledgement cannot be sent
-
acknowledge
public void acknowledge(int sessionID, long transactionID, long[] sequenceNumbers) throws javax.jms.JMSException
Acknowledge the given list of message sequence numbers.- Parameters:
sequenceNumbers
- list of sequence numbers to acknowledge- Throws:
javax.jms.JMSException
- if the acknowledgement cannot be sent
-
negativeAcknowledge
public void negativeAcknowledge(int sessionID, long transactionID, long[] sequenceNumbers) throws javax.jms.JMSException
Negative acknowledge the given list of message sequence numbers.- Parameters:
sequenceNumbers
- list of sequence numbers to negative acknowledge- Throws:
javax.jms.JMSException
- if the acknowledgement cannot be sent
-
negativeAcknowledge
public void negativeAcknowledge(int sessionID, long transactionID, long sequenceNumber) throws javax.jms.JMSException
Negative acknowledge the message sequence number.- Parameters:
sequenceNumber
- sequence number to negative acknowledge- Throws:
javax.jms.JMSException
- if the acknowledgement cannot be sent
-
preAcknowledge
public void preAcknowledge(int sessionID, long transactionID, boolean is_confirmed, java.lang.String uuid) throws javax.jms.JMSException
Pre-acknowledge the message identified by uuid in envelope field- Parameters:
is_confirmed
- true if pre-ack is confirmeduuid
- uuid of the message- Throws:
javax.jms.JMSException
- if the acknowledgement cannot be sent
-
destroy
public void destroy(int sessionID) throws javax.jms.JMSException
Destroy the underlying Broker client.- Throws:
javax.jms.JMSException
- if the request cannot be sent
-
disconnect
public void disconnect(int sessionID) throws javax.jms.JMSException
Disconnect the underlying Broker client.- Throws:
javax.jms.JMSException
- if the request cannot be sent
-
canSubscribe
public void canSubscribe(int sessionID, java.lang.String name) throws javax.jms.JMSException
Checks if there are adequate permissions to subscribe.- Parameters:
name
- the name to check for subscribe permissions- Throws:
javax.jms.JMSException
- if the request cannot be sent or no subscribe permissions
-
canPublish
public void canPublish(int sessionID, java.lang.String name) throws javax.jms.JMSException
Checks if there are adequate permissions to publish.- Parameters:
name
- the name to check for publish permissions- Throws:
javax.jms.JMSException
- if the request cannot be sent or no publish permissions
-
setFilter
public void setFilter(int sessionID, java.lang.String filter) throws javax.jms.JMSException
Set the session's filter.- Parameters:
filter
- the filter to set for this session- Throws:
javax.jms.JMSException
- if the session cannot be set
-
subscribe
public void subscribe(int sessionID, java.lang.String name, java.lang.String filter, int subID) throws javax.jms.JMSException
Send a subscription request.- Parameters:
name
- the subscriptionfilter
- an optional filtersubID
- subscription ID- Throws:
javax.jms.JMSException
- if the subscription request fails
-
unsubscribe
public void unsubscribe(int sessionID, java.lang.String name, java.lang.String filter) throws javax.jms.JMSException
Send an unsubscribe request.- Parameters:
name
- the subscription namefilter
- the filter- Throws:
javax.jms.JMSException
- if the request fails
-
subscriptions
public Subscription[] subscriptions(int sessionID) throws javax.jms.JMSException
Get the current subscriptions.- Returns:
- the current subscriptions
- Throws:
javax.jms.JMSException
- if the request fails
-
publish
public void publish(int sessionID, long transactionID, WmMessageImpl message, int deliveryMode, boolean deliver, boolean confirmDelivery) throws javax.jms.JMSException
Publish a message.- Parameters:
message
- the message to publish- Throws:
javax.jms.JMSException
- if the publish fails
-
publish
public void publish(int sessionID, long transactionID, WmMessageImpl[] messages, int deliveryMode, boolean deliver, boolean confirmDelivery) throws javax.jms.JMSException
Publish multiple messages.- Parameters:
messages
- the messages to publish- Throws:
javax.jms.JMSException
- if the publish fails
-
publish
public void publish(int sessionID, long transactionID, WmMessageImpl message, int deliveryMode, boolean deliver) throws javax.jms.JMSException
Publish a message.- Parameters:
message
- the message to publish- Throws:
javax.jms.JMSException
- if the publish fails
-
publish
public void publish(int sessionID, long transactionID, WmMessageImpl[] messages, int deliveryMode, boolean deliver) throws javax.jms.JMSException
Publish multiple messages.- Parameters:
messages
- the messages to publish- Throws:
javax.jms.JMSException
- if the publish fails
-
getBrokerName
public java.lang.String getBrokerName(int sessionID) throws javax.jms.JMSException
Get the name of the broker.- Returns:
- The name of the broker.
- Throws:
javax.jms.JMSException
-
getTerritory
public java.lang.String getTerritory(int sessionID) throws javax.jms.JMSException
Get the territory- Returns:
- The name of the territory
- Throws:
javax.jms.JMSException
-
getPublishProcessState
public int getPublishProcessState(int sessionID) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
getAccessLabel
public short[] getAccessLabel(int sessionID) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
sendKeepAlive
public void sendKeepAlive(int sessionID) throws javax.jms.JMSException
Send a keep-alive to the Broker.- Throws:
javax.jms.JMSException
- if the request cannot be sent or a reponse was not received within the timeout
-
initializeSession
public int initializeSession(java.lang.String clientName, boolean queue, boolean priorityOrdering, java.lang.String clientGroup, java.lang.String application, boolean guaranteed, boolean ackNonPersistent, boolean sharedState, int sharedStateOrdering, boolean reconnect, boolean acceptExisting) throws javax.jms.JMSException
Description copied from interface:Protocol
Initialize a session to the Broker.- Throws:
javax.jms.JMSException
-
initializeSession
public int initializeSession(java.lang.String clientName, boolean queue, boolean priorityOrdering, java.lang.String clientGroup, java.lang.String application, boolean guaranteed, boolean ackNonPersistent, boolean sharedState, int sharedStateOrdering, boolean reconnect, boolean acceptExisting, java.lang.String userName, java.lang.String password) throws javax.jms.JMSException
Initialize the session.- Parameters:
clientName
- the Broker client IDclientGroup
- the client groupapplication
- the applicationsharedState
-true
if shared statesharedStateOrdering
-true
if shared state is publish orderreconnect
-true
if the session should reconnect to an existing session- Throws:
javax.jms.JMSException
- if the session cannot be initialized
-
initializeConnection
public int initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect) throws javax.jms.JMSException
Initialize the connection.- Parameters:
clientName
- the Broker client IDclientGroup
- the client groupapplication
- the application- Throws:
javax.jms.JMSException
- if the session cannot be initialized
-
initializeConnection
public int initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect, java.lang.String userName, java.lang.String password) throws javax.jms.JMSException
Initialize the connection.- Parameters:
clientName
- the Broker client IDclientGroup
- the client groupapplication
- the application- Throws:
javax.jms.JMSException
- if the session cannot be initialized
-
initializeConnection
public int initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect, java.lang.String accessLabelHint) throws javax.jms.JMSException
Initialize the connection.- Parameters:
clientName
- the Broker client IDclientGroup
- the client groupapplication
- the application- Throws:
javax.jms.JMSException
- if the session cannot be initialized
-
initializeConnection
public int initializeConnection(java.lang.String clientName, java.lang.String clientGroup, java.lang.String application, boolean sharedState, boolean reconnect, java.lang.String accessLabelHint, java.lang.String userName, java.lang.String password) throws javax.jms.JMSException
Initialize the connection.- Parameters:
clientName
- the Broker client IDclientGroup
- the client groupapplication
- the application- Throws:
javax.jms.JMSException
- if the session cannot be initialized
-
initAccessLabel
public void initAccessLabel(int sessionID) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
setPlatformInfo
public void setPlatformInfo(int sessionID) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
setInfo
public void setInfo(int sessionID, java.lang.String clientType) throws javax.jms.JMSException
Description copied from interface:Protocol
Set the client's infoset.clientType
- the type of client- Throws:
javax.jms.JMSException
-
beginBrowse
public int beginBrowse(int sessionID, java.lang.String clientID) throws javax.jms.JMSException
Begin browse operations.- Parameters:
clientID
- the client to browse- Throws:
javax.jms.JMSException
-
endBrowse
public void endBrowse(int sessionID, java.lang.String clientID, int browseID) throws javax.jms.JMSException
End browse operations.- Parameters:
clientID
- the client being browsedbrowseID
- the browse ID- Throws:
javax.jms.JMSException
-
setBrowseFilter
public void setBrowseFilter(int sessionID, java.lang.String clientID, int browseID, java.lang.String filter) throws javax.jms.JMSException
Set the browse filter.- Parameters:
clientID
- the client to browsebrowseID
- the browse IDfilter
- the browse filter- Throws:
javax.jms.JMSException
-
browse
public WmMessageImpl browse(int sessionID, java.lang.String clientID, int browseID) throws javax.jms.JMSException
Browse the client's messages.- Parameters:
clientID
- the client to browsebrowseID
- the browse ID- Throws:
javax.jms.JMSException
-
sendKeepAliveResponse
public void sendKeepAliveResponse() throws javax.jms.JMSException
Send a keep-alive reply to a Broker keep-alive request.- Throws:
javax.jms.JMSException
- if the reply cannot be sent
-
connect
public void connect(BrokerURL url) throws javax.jms.JMSException
Description copied from class:ProtocolHandler
Start the protocol.- Overrides:
connect
in classProtocolHandler
- Throws:
javax.jms.JMSException
- if the protocol could not be started
-
reconnect
public void reconnect() throws javax.jms.JMSException
- Overrides:
reconnect
in classProtocolHandler
- Throws:
javax.jms.JMSException
-
parseNameList
protected java.lang.String[] parseNameList(java.lang.String nameList) throws javax.jms.JMSException
Parse a name list from a reply "# name1 name2"- Throws:
javax.jms.JMSException
-
-