|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.exolab.jms.messagemgr.AbstractConsumerEndpoint | +--org.exolab.jms.messagemgr.AbstractTopicConsumerEndpoint | +--org.exolab.jms.messagemgr.TopicConsumerEndpoint
A ConsumerEndpoint
for transient topic consumers.
Field Summary | |
protected java.util.Map |
_caches
Maintains a map of TopicDestinationCache that this endpoint subscribes to, keyed on JmsTopic. |
Constructor Summary | |
TopicConsumerEndpoint(long consumerId,
long connectionId,
JmsTopic topic,
java.lang.String selector,
boolean noLocal,
DestinationManager destinations)
Construct a new TopicConsumerEndpoint . |
Method Summary | |
protected void |
addMessage(MessageHandle handle)
Add the handle to the cache. |
void |
cacheAdded(JmsDestination destination,
DestinationCache cache)
Invoked when a message cache is created. |
void |
cacheRemoved(JmsDestination destination,
DestinationCache cache)
Invoked when a message cache is removed. |
boolean |
canConsume(JmsDestination destination)
Determines if this consumer can consume messages from the specified destination. |
void |
destinationAdded(JmsDestination destination)
Invoked when a destination is created. |
void |
destinationRemoved(JmsDestination destination)
Invoked when a destination is removed. |
protected void |
doClose()
Closes this endpoint. |
protected MessageHandle |
doReceive(Condition cancel)
Return the next available message to the client. |
long |
getConnectionId()
Returns the identity of the connection that owns this consumer. |
protected DestinationCache[] |
getDestinationCaches()
Returns the destination caches. |
protected DestinationManager |
getDestinationManager()
Returns the destination manager. |
int |
getMessageCount()
Return the number of unsent messages in the cache for this consumer. |
protected void |
init()
Registers this with the associated DestinationCache s. |
boolean |
messageAdded(MessageHandle handle,
MessageImpl message)
This event is called when a non-persistent message is added to the DestinationCache . |
void |
messageRemoved(java.lang.String messageId)
This event is called when a message is removed from the DestinationCache . |
boolean |
persistentMessageAdded(MessageHandle handle,
MessageImpl message)
This event is called when a persistent message is added to the DestinationCache . |
void |
persistentMessageRemoved(java.lang.String messageId)
This event is called when a message is removed from the DestinationCache . |
void |
returnMessage(MessageHandle handle)
Return a delivered, but unacknowledged message to the cache. |
protected void |
setConnectionId(long connectionId)
Set the connection identifier. |
Methods inherited from class org.exolab.jms.messagemgr.AbstractConsumerEndpoint |
close, getDestination, getId, getNoLocal, getPersistentId, getSelector, isAsynchronous, isClosed, isPersistent, isWaitingForMessage, notifyMessageAvailable, receive, selects, setAsynchronous, setListener, setNoLocal, setSelector, setWaitingForMessage, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected java.util.Map _caches
Constructor Detail |
public TopicConsumerEndpoint(long consumerId, long connectionId, JmsTopic topic, java.lang.String selector, boolean noLocal, DestinationManager destinations) throws javax.jms.InvalidSelectorException, javax.jms.JMSException
TopicConsumerEndpoint
.consumerId
- the identity of this consumerconnectionId
- the identity of the connection that owns this
consumertopic
- the topic to accessselector
- the message selector. May be null
noLocal
- if true, inhibits the delivery of messages published
by its own connection.destinations
- the destination managerjavax.jms.InvalidSelectorException
- if the selector is invalidjavax.jms.JMSException
- if the destination caches can't be
constructedMethod Detail |
public long getConnectionId()
-1
if this is not
currently associated with a connection.ServerConnection.getConnectionId()
public boolean canConsume(JmsDestination destination)
canConsume
in class AbstractConsumerEndpoint
destination
- the destinationtrue
if the consumer can consume messages from
destination
; otherwise false
public void returnMessage(MessageHandle handle)
handle
- the handle of the message to returnpublic int getMessageCount()
public boolean messageAdded(MessageHandle handle, MessageImpl message) throws javax.jms.JMSException
DestinationCache
.handle
- a handle to the messagemessage
- the added messagetrue
if the listener accepted the message; otherwise
false
Throws:
javax.jms.JMSException
- if the listener fails to handle the message
messageRemoved
public void messageRemoved(java.lang.String messageId)
throws javax.jms.JMSException
- This event is called when a message is removed from the
DestinationCache
.
- Parameters:
messageId
- the identifier of the removed message- Throws:
javax.jms.JMSException
- if the listener fails to handle the message
persistentMessageAdded
public boolean persistentMessageAdded(MessageHandle handle,
MessageImpl message)
throws javax.jms.JMSException,
PersistenceException
- This event is called when a persistent message is added to the
DestinationCache
.
- Parameters:
handle
- a handle to the added messagemessage
- the added message- Returns:
true
if the listener accepted the message;- Throws:
javax.jms.JMSException
- if the listener fails to handle the messagePersistenceException
- if there is a persistence related problem
persistentMessageRemoved
public void persistentMessageRemoved(java.lang.String messageId)
throws javax.jms.JMSException,
PersistenceException
- This event is called when a message is removed from the
DestinationCache
.
- Parameters:
messageId
- the identifier of the removed message- Throws:
javax.jms.JMSException
- if the listener fails to handle the messagePersistenceException
- if there is a persistence related problem
destinationAdded
public void destinationAdded(JmsDestination destination)
- Invoked when a destination is created.
- Specified by:
destinationAdded
in interface DestinationEventListener
- Parameters:
destination
- the destination that was added
destinationRemoved
public void destinationRemoved(JmsDestination destination)
- Invoked when a destination is removed.
- Specified by:
destinationRemoved
in interface DestinationEventListener
- Parameters:
destination
- the destination that was removed
cacheAdded
public void cacheAdded(JmsDestination destination,
DestinationCache cache)
- Invoked when a message cache is created.
- Specified by:
cacheAdded
in interface DestinationEventListener
- Parameters:
destination
- the destination that messages are being cached forcache
- the corresponding cache
cacheRemoved
public void cacheRemoved(JmsDestination destination,
DestinationCache cache)
- Invoked when a message cache is removed.
- Specified by:
cacheRemoved
in interface DestinationEventListener
- Parameters:
destination
- the destination that messages are no longer being
cached forcache
- the corresponding cache
init
protected void init()
throws javax.jms.JMSException
- Registers this with the associated
DestinationCache
s. The
consumer may receive messages immediately.
- Throws:
javax.jms.JMSException
- for any JMS error
setConnectionId
protected void setConnectionId(long connectionId)
- Set the connection identifier.
- Parameters:
connectionId
- the identity of the connection that owns this
consumer- See Also:
AbstractTopicConsumerEndpoint.getConnectionId()
addMessage
protected void addMessage(MessageHandle handle)
- Add the handle to the cache.
- Parameters:
handle
- the message handle to add
doReceive
protected MessageHandle doReceive(Condition cancel)
throws javax.jms.JMSException
- Return the next available message to the client.
- Overrides:
doReceive
in class AbstractConsumerEndpoint
- Parameters:
cancel
- - Returns:
- the next message, or
null
if none is available - Throws:
javax.jms.JMSException
- for any error
doClose
protected void doClose()
- Closes this endpoint.
- Overrides:
doClose
in class AbstractConsumerEndpoint
getDestinationManager
protected DestinationManager getDestinationManager()
- Returns the destination manager.
- Returns:
- the destination manager
getDestinationCaches
protected DestinationCache[] getDestinationCaches()
- Returns the destination caches.
- Returns:
- the destination caches
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
Copyright © 1999-2007 The OpenJMS Group. All Rights Reserved.