jrun.jms.core.client.intravm
Class IntravmJmsSessionStub

java.lang.Object
  |
  +--jrun.jms.core.client.intravm.IntravmJmsSessionStub
All Implemented Interfaces:
JmsMessageListener, JmsSessionStubIfc

public class IntravmJmsSessionStub
extends java.lang.Object
implements JmsSessionStubIfc, JmsMessageListener

The client stub implementation for the intra-JVM JMS server.

This delegates directly to a JmsServerSession instance.

Version:
$Revision: 1.19 $ $Date: 2001/10/12 07:55:31 $
Author:
Jim Alateras

Method Summary
 void acknowledgeMessage(long clientId, java.lang.String messageId)
          Acknowledge the following message If this method does not complete then throw JMSException.
 void beforeClose()
          This method is called before the call to close, so that the stub can do some local clean up
 void close()
          Close and release any resource allocated to this session.
 void commit()
          Commit the session which will send all the published messages and acknowledge all received messages
 void commit(java.lang.String[] messages)
          Commit messages on the session which will send all specified published messages and acknowledge all specified received messages
 void createBrowser(JmsQueue queue, long clientId, java.lang.String selector)
          Create a queue browser for this session.
 void createPublisher(JmsTopic topic)
          Create a publisher endpoint for this session.
 void createQueue(JmsQueue queue)
          Create a queue with the specified name.
 void createReceiver(JmsQueue queue, long clientId, java.lang.String selector)
          Create a receiver endpoint for this session.
 void createSender(JmsQueue queue)
          Create a sender endpoint for this session.
 void createSubscriber(JmsTopic topic, java.lang.String name, long clientId, java.lang.String selector, boolean noLocal)
          Create a subscriber endpoint for this session.
 void createTopic(JmsTopic topic)
          Create a topic with the specified name.
 void deleteBrowser(long clientId)
          Delete the queue browser associated with the specified queue from the session.
 void deleteReceiver(long clientId)
          Delete the receiver with the corresponding client id.
 void deleteSubscriber(long clientId)
          Delete the subscriber associated with the sepcified identity.
 void enableAsynchronousDelivery(long clientId, long id, boolean enable)
          Enable or disable asynchronous message delivery for a particular consumer
 java.lang.String getClientId()
          Return the client id associated with this session.
protected  Logger getLogger()
          Return a reference to the logger
 java.lang.String getSessionId()
          Return a copy of the session identity.
 void onMessage(javax.jms.Message message)
           
 void onMessages(java.util.Vector messages)
          Send the specified collection of messages to the client
 javax.jms.Message receiveMessage(long clientId, long wait)
          Return the next message for the specified client.
 java.util.Vector receiveMessages(long clientId, int count)
          Return a collection of messages from the specified client upto the nominated count.
 void recover()
          Recover the session.
 void rollback()
          Rollback the session, which will not acknowledge any of the sent messages
 void rollback(java.lang.String[] messages)
          Rollback messages on the session, which will not acknowledge any of the specified sent messages
 void sendMessage(javax.jms.Message message)
          Send the specified message to the server.
 void sendMessages(java.util.Vector messages)
          Send the specified messages to the server.
 void setMessageListener(JmsMessageListener listener)
          Set the listener for this session.
 void startMessageDelivery()
          Start message delivery to this session.
 void stopMessageDelivery()
          Stop message delivery to this session.
 void unsubscribe(java.lang.String name)
          Unsubscribe a durable subscription
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getClientId

public java.lang.String getClientId()
                             throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Return the client id associated with this session. If there is any problem then throw JMSException excpetion.
Specified by:
getClientId in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Returns:
String
Throws:
JMSException -  

getSessionId

public java.lang.String getSessionId()
                              throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Return a copy of the session identity. Session identities are unique within the context of a server. If the call faisl to complete then throw JMSException
Specified by:
getSessionId in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Returns:
String
Throws:
JMSException -  

beforeClose

public void beforeClose()
                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
This method is called before the call to close, so that the stub can do some local clean up
Specified by:
beforeClose in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException -  

close

public void close()
           throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Close and release any resource allocated to this session. Throw the JMSException exception is a problem is encountered
Specified by:
close in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException -  

acknowledgeMessage

public void acknowledgeMessage(long clientId,
                               java.lang.String messageId)
                        throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Acknowledge the following message If this method does not complete then throw JMSException.
Specified by:
acknowledgeMessage in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
clientId - the identity ofthe client
messageId - the message identity to ack
Throws:
JMSException -  

sendMessage

public void sendMessage(javax.jms.Message message)
                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Send the specified message to the server. If there is any problem then throw the JMSException exception
Specified by:
sendMessage in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
message - message to send
Throws:
JMSException -  

sendMessages

public void sendMessages(java.util.Vector messages)
                  throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Send the specified messages to the server. If there is any problem then throw the JMSException exception
Specified by:
sendMessages in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
messages - - messages to send
Throws:
JMSException -  

receiveMessage

public javax.jms.Message receiveMessage(long clientId,
                                        long wait)
                                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Return the next message for the specified client. The client id maps to a consumer on the server side. The caller can also specify how long to wait if no messages are currently available. If the caller specifies 0 then the call will return immediately if there are no messages available. If the caller specified -1 then the call will block until a message becomes available.
Specified by:
receiveMessage in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
client - the client identity
wait - the number of ms to wait. -1 means wait indefinitely.
Returns:
Message the next message or null

receiveMessages

public java.util.Vector receiveMessages(long clientId,
                                        int count)
                                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Return a collection of messages from the specified client upto the nominated count. This method may return less than count messages but it will never return more than count messages
Specified by:
receiveMessages in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
client - the client identity
count - max messages to return
Returns:
Vector collection of MessageImpl objects
Throws:
JMSException -  

createQueue

public void createQueue(JmsQueue queue)
                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a queue with the specified name. If the queue already exists then simply return a reference to it. If the queue does not exist then create it. If it cannot create the queue then throw the JMSException exception
Specified by:
createQueue in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
queue - queue to create
Throws:
JMSException -  

createTopic

public void createTopic(JmsTopic topic)
                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a topic with the specified name. If the topic already exists then simply return a reference to it. If the topic does not exist then create it. If it cannot create the topic then throw the JMSException exception
Specified by:
createTopic in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
topic - topic to create
Throws:
JMSException -  

createReceiver

public void createReceiver(JmsQueue queue,
                           long clientId,
                           java.lang.String selector)
                    throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a receiver endpoint for this session. A reciever is a message consumer specific to the queue message model. The receiver is associated with a queue.

You cannot create more than one receiver for the same destination

Specified by:
createReceiver in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
queue - receiver destination
clientId - the session allocated identifier of this consumer
selector - message selector. This may be null.
Returns:
the unique consumer identifier
Throws:
JMSException. -  

createSender

public void createSender(JmsQueue queue)
                  throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a sender endpoint for this session. A sender is a message publisher specific to the queue message model. The sender is associated with a queue.

You cannot create more than one receiver for the same destination

Specified by:
createSender in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
queue - receiver destination
Throws:
JMSException. -  

createBrowser

public void createBrowser(JmsQueue queue,
                          long clientId,
                          java.lang.String selector)
                   throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a queue browser for this session. This allows clients to browse a queue without removing any messages.

You cannot create more than one queue browser for the same queue in a single session.

Specified by:
createBrowser in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
queue - queue to browse
clientId - the client identity
selector - message selector. This may be null
Throws:
JMSException -  

deleteReceiver

public void deleteReceiver(long clientId)
                    throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Delete the receiver with the corresponding client id. This will clean up resources on the server side.
Specified by:
deleteReceiver in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
clientId - identity of the receiver to delete
Throws:
JMSException -  

deleteBrowser

public void deleteBrowser(long clientId)
                   throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Delete the queue browser associated with the specified queue from the session. If the corresponding queue does not exist or it cannot be deleted, then throw a JMSException.
Specified by:
deleteBrowser in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
clientId - the id of the browser
Throws:
JMSException -  

createSubscriber

public void createSubscriber(JmsTopic topic,
                             java.lang.String name,
                             long clientId,
                             java.lang.String selector,
                             boolean noLocal)
                      throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a subscriber endpoint for this session. A subscriber is a message consumer specific to the topic message model. The subscriber is associated with a topic. The name is used to identify the consumer and can be set to null

You cannot create more than one subscriber for the same destination

Specified by:
createSubscriber in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
topic - subscriber destination
name - name of the consumer associated with the subscriber. This may be null.
clientId - the session allocated identifier of this consumer
selector - message selector. This may be null.
noLocal - inhibit consuming messages on same connection.
Returns:
the unique consumer identifier
Throws:
JMSException. -  

createPublisher

public void createPublisher(JmsTopic topic)
                     throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Create a publisher endpoint for this session. A publisher is a message publisher specific to the topic message model. The publisher is associated with a topic.

You cannot create more than one publisher for the same destination

Specified by:
createPublisher in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
topic - receiver destination
Throws:
JMSException. -  

deleteSubscriber

public void deleteSubscriber(long clientId)
                      throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Delete the subscriber associated with the sepcified identity.
Specified by:
deleteSubscriber in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
clientid - the client identity
Throws:
JMSException. -  

unsubscribe

public void unsubscribe(java.lang.String name)
                 throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Unsubscribe a durable subscription
Specified by:
unsubscribe in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
name - the name used to identify the subscription
Throws:
JMSException - if the subscription cannot be removed

stopMessageDelivery

public void stopMessageDelivery()
                         throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Stop message delivery to this session. If there are any problems completing the request then throw the JMSException exception
Specified by:
stopMessageDelivery in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException -  

startMessageDelivery

public void startMessageDelivery()
                          throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Start message delivery to this session. If there are any problems completing this request then throw the JMSException exception
Specified by:
startMessageDelivery in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException -  

setMessageListener

public void setMessageListener(JmsMessageListener listener)
Description copied from interface: JmsSessionStubIfc
Set the listener for this session. The listener is an object that implements MessageListener and is called back whenever a message for the session is present
Specified by:
setMessageListener in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
listener -  

enableAsynchronousDelivery

public void enableAsynchronousDelivery(long clientId,
                                       long id,
                                       boolean enable)
                                throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Enable or disable asynchronous message delivery for a particular consumer
Specified by:
enableAsynchronousDelivery in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Parameters:
clientId - - the id of the client to check
id - - the message id of the last delivered message
enable - - true to enable; false to disable

recover

public void recover()
             throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Recover the session. This means all unacknowledged messages are resent with the redelivery flag set
Specified by:
recover in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException - - if we are unable to recover

commit

public void commit(java.lang.String[] messages)
            throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Commit messages on the session which will send all specified published messages and acknowledge all specified received messages
Specified by:
commit in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException - - if we cannot commit the session

commit

public void commit()
            throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Commit the session which will send all the published messages and acknowledge all received messages
Specified by:
commit in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException - - if we cannot commit the session

rollback

public void rollback(java.lang.String[] messages)
              throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Rollback messages on the session, which will not acknowledge any of the specified sent messages
Specified by:
rollback in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException - - if there is an error with this operation

rollback

public void rollback()
              throws javax.jms.JMSException
Description copied from interface: JmsSessionStubIfc
Rollback the session, which will not acknowledge any of the sent messages
Specified by:
rollback in interface JmsSessionStubIfc
Following copied from interface: jrun.jms.core.client.JmsSessionStubIfc
Throws:
JMSException - - if there is an error with this operation

onMessage

public void onMessage(javax.jms.Message message)

onMessages

public void onMessages(java.util.Vector messages)
Description copied from interface: JmsMessageListener
Send the specified collection of messages to the client
Specified by:
onMessages in interface JmsMessageListener
Following copied from interface: jrun.jms.core.client.JmsMessageListener
Parameters:
messages - - collection of MessageHandle objects

getLogger

protected Logger getLogger()
Return a reference to the logger
Returns:
Logger


Copyright � 2002 Macromedia Corporation. All Rights Reserved.