java.lang.Object
org.activemq.service.impl.ProxyMessageContainerManager
org.activemq.service.impl.InitialImageMessageContainerManager
- All Implemented Interfaces:
- org.activemq.service.MessageContainerManager, org.activemq.service.Service
- public class InitialImageMessageContainerManager
- extends ProxyMessageContainerManager
Implements an initial image service where on subscription
the client will receive the last image that was previously cached.
This is very useful in financial market data and in rapidly changing
transient event models where you don't want to persist messages
when you are away, but wish to cache the last image, per destination
around so that when a new reliable consumer subscribes you receive the
latest value you may have missed.
This is especially true in finance with slow moving markets where you may
have to wait a while for an update (or times when you subscribe after
market close etc).
- Version:
- $Revision: 1.1.1.1 $
| Methods inherited from class org.activemq.service.impl.ProxyMessageContainerManager |
acknowledgeMessage, createMessageContainer, deleteSubscription, destroyMessageContainer, getContainer, getDeadLetterPolicy, getDelegate, getDestinations, getLocalDestinations, getMessageContainerAdmins, poll, removeMessageConsumer, setDeadLetterPolicy, setDelegate, start, stop |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cache
private java.util.Map cache
topic
private boolean topic
destinationFilter
private org.activemq.filter.DestinationFilter destinationFilter
InitialImageMessageContainerManager
public InitialImageMessageContainerManager(org.activemq.service.MessageContainerManager delegate,
java.util.Map cache,
org.activemq.filter.DestinationFilter destinationFilter)
- Creates a topic based initial image message container manager using the given destination filter
InitialImageMessageContainerManager
public InitialImageMessageContainerManager(org.activemq.service.MessageContainerManager delegate,
java.util.Map cache,
boolean topic,
org.activemq.filter.DestinationFilter destinationFilter)
addMessageConsumer
public void addMessageConsumer(org.activemq.broker.BrokerClient client,
org.activemq.message.ConsumerInfo info)
throws javax.jms.JMSException
- Specified by:
addMessageConsumer in interface org.activemq.service.MessageContainerManager- Overrides:
addMessageConsumer in class ProxyMessageContainerManager
sendMessage
public void sendMessage(org.activemq.broker.BrokerClient client,
org.activemq.message.ActiveMQMessage message)
throws javax.jms.JMSException
- Specified by:
sendMessage in interface org.activemq.service.MessageContainerManager- Overrides:
sendMessage in class ProxyMessageContainerManager
sendMatchingInitialImages
protected void sendMatchingInitialImages(org.activemq.broker.BrokerClient client,
org.activemq.message.ConsumerInfo info,
org.activemq.filter.DestinationFilter filter)
throws javax.jms.JMSException
isValid
protected boolean isValid(org.activemq.message.ActiveMQDestination destination)
- Does this message match the destinations on which initial image caching should be used