public class GSMessageConsumerImpl extends Object implements javax.jms.MessageConsumer, javax.jms.QueueReceiver, javax.jms.TopicSubscriber
javax.jms.MessageConsumer interface.
 GigaSpaces implementation of the JMS MessageConsumer Interface and the Jini RemoteEventListener.
 - It holds MessageConsumer Destination, Topic or Queue - It creates the GigaSpaces OnMessageNotifyDelegator and the notify() calls the MessageListener.onMessage() method. - It supports both Synchronized and Asynchronized message consumption. One can use the method receive() for the Synchronized form, or use the NotifyDelegator together with a MessageListener implementation for the Asynchronized message receiving manner.
| Modifier and Type | Field and Description | 
|---|---|
protected boolean | 
m_closed
true if the session is closed. | 
protected javax.jms.Destination | 
m_dest
The destination the consumer gets its messages from 
 | 
protected String | 
m_destName
The destination name the consumer gets its messages from GERSHON FIX 25042006 - The default
 class name (dest name is dummy in case the destination is null in the beginning and that
 later passed to the send(). 
 | 
String | 
m_durableSubscriptionName
The durable consumer subscription name. 
 | 
protected boolean | 
m_isQueue
Tells whether this is a queue or a topic consumer 
 | 
protected GSSessionImpl | 
m_session
The m_session the consumer belongs to 
 | 
| Constructor and Description | 
|---|
GSMessageConsumerImpl(GSSessionImpl session,
                     javax.jms.Destination dest,
                     String consumerID,
                     String subsriptionName,
                     String selector,
                     boolean noLocal)
Constructs a message consumer. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
close()
Cancels the onMessage notify delegator, using its Lease.cancel() if it is an Asyc operation
 Also it removes the current consumer from the consumers list held by the session. 
 | 
String | 
getConsumerID()
Returns the consumer ID. 
 | 
javax.jms.Destination | 
getDestination()  | 
javax.jms.MessageListener | 
getMessageListener()
API method. 
 | 
String | 
getMessageSelector()
API method. 
 | 
String | 
getName()
Return the durable subscription name 
 | 
boolean | 
getNoLocal()  | 
javax.jms.Queue | 
getQueue()  | 
protected GSSessionImpl | 
getSession()
Returns the m_session that created this consumer. 
 | 
javax.jms.Topic | 
getTopic()  | 
boolean | 
isClosed()
Determines if the consumer is closed 
 | 
boolean | 
isDurableSubscriber()
Determines if the subscriber is durable 
 | 
javax.jms.Message | 
receive()
API method. 
 | 
javax.jms.Message | 
receive(long timeout)
API method. 
 | 
javax.jms.Message | 
receiveNoWait()
API method. 
 | 
void | 
setMessageListener(javax.jms.MessageListener listener)
This method is called by the JMS Client, it sets the MessageListener implementation and It
 creates a GigaSpaces NotifyDelegator for Asynchronic messaging. 
 | 
String | 
toString()  | 
protected javax.jms.Destination m_dest
protected String m_destName
protected GSSessionImpl m_session
protected volatile boolean m_isQueue
protected volatile boolean m_closed
true if the session is closed.public String m_durableSubscriptionName
public GSMessageConsumerImpl(GSSessionImpl session, javax.jms.Destination dest, String consumerID, String subsriptionName, String selector, boolean noLocal) throws javax.jms.JMSException
session - The m_session the consumer belongs to.dest - The destination the consumer gets messages from.subsriptionName - The m_durableSubscriber subscription's name, if any.selector - Selector string for filtering messages.javax.jms.IllegalStateException - If the connection is broken.javax.jms.JMSException - If the creation fails for any other reason.public String getMessageSelector() throws javax.jms.JMSException
getMessageSelector in interface javax.jms.MessageConsumerjavax.jms.IllegalStateException - If the consumer is closed.javax.jms.JMSExceptionpublic javax.jms.MessageListener getMessageListener()
                                             throws javax.jms.JMSException
getMessageListener in interface javax.jms.MessageConsumerjavax.jms.IllegalStateException - If the consumer is closed.javax.jms.JMSExceptionpublic void setMessageListener(javax.jms.MessageListener listener)
                        throws javax.jms.JMSException
setMessageListener in interface javax.jms.MessageConsumerjavax.jms.IllegalStateException - If the consumer is closed.javax.jms.JMSExceptionMessageConsumer.setMessageListener(MessageListener)public javax.jms.Message receive()
                          throws javax.jms.JMSException
receive in interface javax.jms.MessageConsumerjavax.jms.IllegalStateException - If the consumer is closed, or if the connection is broken.javax.jms.JMSSecurityException - If the requester is not a READER on the destination.javax.jms.JMSException - If the request fails for any other reason.public javax.jms.Message receive(long timeout)
                          throws javax.jms.JMSException
receive in interface javax.jms.MessageConsumertimeout - This call blocks until a message arrives, the timeout expires, or this message
                consumer is closed. The jms client may select A timeout of zero,
                that means it never expires, and the call blocks indefinitely. It is the same
                as the Space timeout which its value to  Long.MAX_VALUE Regarding the space
                timeout, it means how long the client is willing to wait for a transactionally
                proper matching entry. A timeout of IJSpace.NO_WAIT means to wait
                no time at all; this is equivalent to a wait of zero (in space only, not in
                jms).javax.jms.IllegalStateException - If the consumer is closed, or if the connection is broken.javax.jms.JMSSecurityException - If the requester is not a READER on the destination.javax.jms.JMSException - If the request fails for any other reason.public javax.jms.Message receiveNoWait()
                                throws javax.jms.JMSException
receiveNoWait in interface javax.jms.MessageConsumerjavax.jms.IllegalStateException - If the consumer is closed, or if the connection is broken.javax.jms.JMSSecurityException - If the requester is not a READER on the destination.javax.jms.JMSException - If the request fails for any other reason.public boolean isClosed()
true if the consumer is closedpublic void close()
           throws javax.jms.JMSException
close in interface javax.jms.MessageConsumerjavax.jms.JMSExceptionMessageConsumer.close()public String getConsumerID()
protected GSSessionImpl getSession()
public String getName()
null if this is a non-durable
 subscriberpublic boolean isDurableSubscriber()
true if the subscriber is durablepublic javax.jms.Queue getQueue()
                         throws javax.jms.JMSException
getQueue in interface javax.jms.QueueReceiverjavax.jms.JMSExceptionQueueReceiver.getQueue()public boolean getNoLocal()
                   throws javax.jms.JMSException
getNoLocal in interface javax.jms.TopicSubscriberjavax.jms.JMSExceptionTopicSubscriber.getNoLocal()public javax.jms.Topic getTopic()
                         throws javax.jms.JMSException
getTopic in interface javax.jms.TopicSubscriberjavax.jms.JMSExceptionTopicSubscriber.getTopic()public javax.jms.Destination getDestination()
                                     throws javax.jms.JMSException
javax.jms.JMSExceptionCopyright © GigaSpaces.