java.lang.Object
org.activemq.store.cache.CacheMessageStore
org.activemq.store.cache.CacheTopicMessageStore
- All Implemented Interfaces:
- CacheMessageStoreAware, org.activemq.store.MessageStore, org.activemq.service.Service, org.activemq.store.TopicMessageStore
- public class CacheTopicMessageStore
- extends CacheMessageStore
- implements org.activemq.store.TopicMessageStore
A MessageStore that uses an in memory cache to speed up getMessage() method calls.
- Version:
- $Revision: 1.1.1.1 $
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
longTermStore
private final org.activemq.store.TopicMessageStore longTermStore
CacheTopicMessageStore
public CacheTopicMessageStore(CachePersistenceAdapter adapter,
org.activemq.store.TopicMessageStore longTermStore,
MessageCache cache)
setLastAcknowledgedMessageIdentity
public void setLastAcknowledgedMessageIdentity(java.lang.String subscription,
org.activemq.service.MessageIdentity messageIdentity)
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- Stores the last acknowledged messgeID for the given subscription
so that we can recover and commence dispatching messages from the last
checkpoint
- Specified by:
setLastAcknowledgedMessageIdentity in interface org.activemq.store.TopicMessageStore
getLastestMessageIdentity
public org.activemq.service.MessageIdentity getLastestMessageIdentity()
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- Returns the last message identity that was delivered on this container which can then be used as a
checkpoint so that when new durable consumers start, we know where to checkpoint their subscriptions.
Note that this method does not need to return a valid messageID, purely the sequence number.
- Specified by:
getLastestMessageIdentity in interface org.activemq.store.TopicMessageStore
recoverSubscription
public void recoverSubscription(java.lang.String subscriptionId,
org.activemq.service.MessageIdentity lastDispatchedMessage,
org.activemq.store.RecoveryListener listener)
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- For the new subcription find the last acknowledged message ID
and then find any new messages since then and dispatch them
to the subscription.
If this is a new subscription then the lastDispatchMessage should be written to the
acknowledgement table to write a checkpoint so that when we recover we will start
from the correct point.
e.g. if we dispatched some messages to a new durable topic subscriber, then went down before
acknowledging any messages, we need to know the correct point from which to recover from.
- Specified by:
recoverSubscription in interface org.activemq.store.TopicMessageStore
setSubscriberEntry
public void setSubscriberEntry(org.activemq.message.ConsumerInfo info,
org.activemq.service.SubscriberEntry subscriberEntry)
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- Inserts or updates the subscriber info due to a subscription change
- Specified by:
setSubscriberEntry in interface org.activemq.store.TopicMessageStore
getSubscriberEntry
public org.activemq.service.SubscriberEntry getSubscriberEntry(org.activemq.message.ConsumerInfo info)
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- Finds the subscriber entry for the given consumer info
- Specified by:
getSubscriberEntry in interface org.activemq.store.TopicMessageStore
incrementMessageCount
public void incrementMessageCount(org.activemq.service.MessageIdentity messageId)
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- Increments the reference count of the message ID as its been dispatched
to another subscriber.
- Specified by:
incrementMessageCount in interface org.activemq.store.TopicMessageStore
decrementMessageCountAndMaybeDelete
public void decrementMessageCountAndMaybeDelete(org.activemq.service.MessageIdentity msgId)
throws javax.jms.JMSException
- Description copied from interface:
org.activemq.store.TopicMessageStore
- Decrement the reference count of this message ID and if there
are no more references then delete the message from persistent store
(or maybe archive it off somewhere)
- Specified by:
decrementMessageCountAndMaybeDelete in interface org.activemq.store.TopicMessageStore
deleteSubscription
public void deleteSubscription(java.lang.String subcription)
throws javax.jms.JMSException
- Specified by:
deleteSubscription in interface org.activemq.store.TopicMessageStore