com.bankframe.services.cache
Class JMSCacheImpl

java.lang.Object
  extended bycom.bankframe.services.cache.GenericCache
      extended bycom.bankframe.services.cache.JMSCacheImpl
All Implemented Interfaces:
Cache, JMSCache, java.util.Map, NamedCache, PersistentCache

public class JMSCacheImpl
extends GenericCache
implements JMSCache

The JMSCacheImpl class provides generic caching functionality using a distributed cache within a clustered environment. It implements the java.util.Map interface. This class uses the supplied Map implementation to maintain consistency between the cache and the data store. The supplied Map implementation must store and read its contents from some permanent data store. An object will remain in the cache until it expires. When the object expires is determined by the CachePolicy object. Once an object has been removed from the local cache a message is generted and put on a JMS Topic. This message will be read by other instances in the cluster via the Message Driven Bean (MDB) com.bankframe.services.cache.JMSListener. This MDB will remove the entry supplied in the message from the local cache on that cluster node.

Version:
6.1.2

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
 java.lang.String JMS_FACTORY
           
static java.lang.String JMS_MESSAGE_ID_CACHE
           
static java.lang.String JNDI_FACTORY
           
 java.lang.String TOPIC
           
 
Constructor Summary
JMSCacheImpl()
           
 
Method Summary
 java.lang.Object addValueToCache(java.lang.String topicName, java.lang.Object key, java.lang.Object value)
           
 void initialiseTopic(javax.naming.Context ctx, JMSCacheEvent event)
          Creates all the necessary objects for sending messages to a JMS Topic.
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
          This method updates the specified object to the data-store.
 void putAll(java.util.Map t)
          This method places the specified values in the cache and the data-store.
 java.lang.Object remove(java.lang.Object key)
          This method removes the specified object from the cache and the data store.
 void remove(java.util.Set keySet)
          This method removes the specified keys from the cache and the data store
 void removeAll()
          Removes all objects from the cache and from the data store.
 void removeAllDontSend()
           
 java.lang.Object removeDontSend(java.lang.Object key)
           
 void removeDontSend(java.util.Set keySet)
           
 
Methods inherited from class com.bankframe.services.cache.GenericCache
addCacheListener, cleanup, clear, containsKey, containsValue, enableCaching, entrySet, equals, get, getCachePolicy, getFromPersistentMap, getName, getPersistentMap, hashCode, isEmpty, keySet, removeCacheListener, setCachePolicy, setName, setPersistentMap, size, toString, values
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.bankframe.services.cache.Cache
addCacheListener, cleanup, enableCaching, getCachePolicy, removeCacheListener, setCachePolicy
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, size, values
 

Field Detail

JNDI_FACTORY

public static java.lang.String JNDI_FACTORY

JMS_FACTORY

public java.lang.String JMS_FACTORY

TOPIC

public java.lang.String TOPIC

JMS_MESSAGE_ID_CACHE

public static final java.lang.String JMS_MESSAGE_ID_CACHE
See Also:
Constant Field Values
Constructor Detail

JMSCacheImpl

public JMSCacheImpl()
Method Detail

initialiseTopic

public void initialiseTopic(javax.naming.Context ctx,
                            JMSCacheEvent event)
                     throws javax.naming.NamingException,
                            javax.jms.JMSException
Creates all the necessary objects for sending messages to a JMS Topic.

Parameters:
ctx - JNDI initial context
Throws:
javax.naming.NamingException - if problem occurred with the JNDI context interface
javax.jms.JMSException - if JMS fails to initialize due to internal error

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Description copied from class: GenericCache
This method updates the specified object to the data-store. It also updates the reference stored in the cache. If the object does not exist in the data-store it will be created.

Specified by:
put in interface java.util.Map
Overrides:
put in class GenericCache
Parameters:
key - Unique key identifying the object
value - The object
See Also:
Map.put(Object, Object)

putAll

public void putAll(java.util.Map t)
Description copied from class: GenericCache
This method places the specified values in the cache and the data-store. :param values a map of values to add to the cache.

Specified by:
putAll in interface java.util.Map
Overrides:
putAll in class GenericCache
See Also:
Map.putAll(Map)

removeDontSend

public java.lang.Object removeDontSend(java.lang.Object key)
Specified by:
removeDontSend in interface JMSCache
See Also:
Map.remove(Object)

removeDontSend

public void removeDontSend(java.util.Set keySet)
Specified by:
removeDontSend in interface JMSCache
See Also:
Cache.remove(Set)

removeAllDontSend

public void removeAllDontSend()
Specified by:
removeAllDontSend in interface JMSCache
See Also:
Cache.removeAll()

remove

public java.lang.Object remove(java.lang.Object key)
Description copied from class: GenericCache
This method removes the specified object from the cache and the data store.

Specified by:
remove in interface java.util.Map
Overrides:
remove in class GenericCache
Parameters:
key - Unique key identifying the object to remove
See Also:
Map.remove(Object)

remove

public void remove(java.util.Set keySet)
Description copied from interface: Cache
This method removes the specified keys from the cache and the data store

Specified by:
remove in interface Cache
Overrides:
remove in class GenericCache
Parameters:
keySet - the set of keys to remove
See Also:
Cache.remove(Set)

removeAll

public void removeAll()
Description copied from interface: Cache
Removes all objects from the cache and from the data store. Use this method with caution!

Specified by:
removeAll in interface Cache
Overrides:
removeAll in class GenericCache
See Also:
Cache.removeAll()

addValueToCache

public java.lang.Object addValueToCache(java.lang.String topicName,
                                        java.lang.Object key,
                                        java.lang.Object value)


Copyright © 2005, 2007, Oracle. All rights reserved.