Class WmClusterSessionSubscriber
- java.lang.Object
-
- com.webmethods.locks.Node
-
- com.webmethods.jms.impl.WmSessionSubscriber
-
- com.webmethods.jms.loadbalance.connection.WmClusterSessionSubscriber
-
- All Implemented Interfaces:
WmMessageConsumer
,WmTopicSubscriber
,javax.jms.MessageConsumer
,javax.jms.TopicSubscriber
public class WmClusterSessionSubscriber extends WmSessionSubscriber
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.CopyOnWriteArrayList<javax.jms.TopicSubscriber>
subscribers
-
Fields inherited from class com.webmethods.jms.impl.WmSessionSubscriber
_subscriberClosed, _subscriberDurableName, _subscriberNoLocal, _subscriberSelector, _subscriberSession, _subscriberTopic
-
Fields inherited from class com.webmethods.locks.Node
_lockManager
-
-
Constructor Summary
Constructors Constructor Description WmClusterSessionSubscriber(WmSessionImpl session, WmTopicImpl topic, java.lang.String durableName, java.lang.String selector, boolean noLocal)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
available()
Gets the number of messages on the Broker available to the consumer.void
clear()
Clears all available messages to the consumer from the Broker.void
close()
javax.jms.Message
receive()
javax.jms.Message
receive(long timeout)
javax.jms.Message
receiveNoWait()
void
setMessageListener(javax.jms.MessageListener listener)
Assign the listener to the session subscriberprotected void
waitFinished(WmSessionSubscriber subscriber)
Marks the subscriber that contains a message.-
Methods inherited from class com.webmethods.jms.impl.WmSessionSubscriber
create, getAndAckMessage, getDestination, getInputStream, getMaxReceive, getMessageListener, getMessageSelector, getNoLocal, getTopic, setMaxReceive, waitForMessages
-
Methods inherited from class com.webmethods.locks.Node
getLockManager, getParent
-
-
-
-
Constructor Detail
-
WmClusterSessionSubscriber
public WmClusterSessionSubscriber(WmSessionImpl session, WmTopicImpl topic, java.lang.String durableName, java.lang.String selector, boolean noLocal) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
-
Method Detail
-
setMessageListener
public void setMessageListener(javax.jms.MessageListener listener) throws javax.jms.JMSException
Assign the listener to the session subscriber- Specified by:
setMessageListener
in interfacejavax.jms.MessageConsumer
- Overrides:
setMessageListener
in classWmSessionSubscriber
- Parameters:
listener
-- Throws:
javax.jms.JMSException
-
waitFinished
protected void waitFinished(WmSessionSubscriber subscriber)
Marks the subscriber that contains a message.- Parameters:
subscriber
-
-
receive
public javax.jms.Message receive() throws javax.jms.JMSException
- Specified by:
receive
in interfacejavax.jms.MessageConsumer
- Overrides:
receive
in classWmSessionSubscriber
- Throws:
javax.jms.JMSException
-
receive
public javax.jms.Message receive(long timeout) throws javax.jms.JMSException
- Specified by:
receive
in interfacejavax.jms.MessageConsumer
- Overrides:
receive
in classWmSessionSubscriber
- Throws:
javax.jms.JMSException
-
receiveNoWait
public javax.jms.Message receiveNoWait() throws javax.jms.JMSException
- Specified by:
receiveNoWait
in interfacejavax.jms.MessageConsumer
- Overrides:
receiveNoWait
in classWmSessionSubscriber
- Throws:
javax.jms.JMSException
-
close
public void close() throws javax.jms.JMSException
- Specified by:
close
in interfacejavax.jms.MessageConsumer
- Specified by:
close
in interfaceWmMessageConsumer
- Overrides:
close
in classWmSessionSubscriber
- Throws:
javax.jms.JMSException
-
available
public long available()
Description copied from interface:WmMessageConsumer
Gets the number of messages on the Broker available to the consumer. This is an approximate number in that some of the messages may be expired or don't match the consumer's message selector.- Specified by:
available
in interfaceWmMessageConsumer
- Overrides:
available
in classWmSessionSubscriber
- Returns:
- the number of messages available to the consumer
-
clear
public void clear()
Description copied from interface:WmMessageConsumer
Clears all available messages to the consumer from the Broker.- Specified by:
clear
in interfaceWmMessageConsumer
- Overrides:
clear
in classWmSessionSubscriber
-
-