Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.activemq.service.impl
Class InitialImageMessageContainerManager  view InitialImageMessageContainerManager download InitialImageMessageContainerManager.java

java.lang.Object
  extended byorg.activemq.service.impl.ProxyMessageContainerManager
      extended byorg.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 $

Field Summary
private  java.util.Map cache
           
private  org.activemq.filter.DestinationFilter destinationFilter
           
private  boolean topic
           
 
Fields inherited from class org.activemq.service.impl.ProxyMessageContainerManager
 
Constructor Summary
InitialImageMessageContainerManager(org.activemq.service.MessageContainerManager delegate, java.util.Map cache, boolean topic, org.activemq.filter.DestinationFilter destinationFilter)
           
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
 
Method Summary
 void addMessageConsumer(org.activemq.broker.BrokerClient client, org.activemq.message.ConsumerInfo info)
           
protected  boolean isValid(org.activemq.message.ActiveMQDestination destination)
          Does this message match the destinations on which initial image caching should be used
protected  void sendMatchingInitialImages(org.activemq.broker.BrokerClient client, org.activemq.message.ConsumerInfo info, org.activemq.filter.DestinationFilter filter)
           
 void sendMessage(org.activemq.broker.BrokerClient client, org.activemq.message.ActiveMQMessage message)
           
 
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
 

Field Detail

cache

private java.util.Map cache

topic

private boolean topic

destinationFilter

private org.activemq.filter.DestinationFilter destinationFilter
Constructor Detail

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)
Method Detail

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