Package org.castor.cache.distributed
Class GigaspacesCache
- java.lang.Object
-
- org.castor.cache.AbstractBaseCache
-
- org.castor.cache.distributed.AbstractDistributedCache
-
- org.castor.cache.distributed.GigaspacesCache
-
- All Implemented Interfaces:
java.util.Map<java.lang.Object,java.lang.Object>,Cache
public final class GigaspacesCache extends AbstractDistributedCache
Gigaspaces implementation of Castor JDO Cache.
Gigaspaces supports a wide variety of cache topologies, allowing the user to distribute and/or replicate application data as needed. This cache instance replicates this flexibility by allowing you to configure it (and thus the underlying Gigaspaces instance) as follows.
<cache-type type="gigaspaces"> <cacheUrl>/./</cacheURL> <cacheProperties>schema=cache</cacheProperties> </cache-type>As mentioned briefly above, the main issue is the cache topology usage. Per definition, Gigaspaces caches can be started in various modes:
- Embedded - cache running as part of the application VM (/./myCache?schema=cache)
- Remote - means you need to run cache server and have relevant url at the client to connect to it (jini//*/*/myCache)
- Master local - means you need to run a cache server and have relevant url at the client to connect to it. The URL should include 'useLocalCache' as part of it (jini//*/*/myCache?useLocalCache)
Each of the above can run in replicated or partitioned mode. This means you should run several instance in one of the above mode using the relevant schema name, total_membres and id.
instance 1:
"/./myCache?schema=cache&cluster_schema=replicated&total_members=2&id=1"instance 2:
"/./myCache?schema=cache&cluster_schema=replicated&total_members=2&id=2"
or
instance 1:
"/./myCache?schema=cache&cluster_schema=partitioned&total_members=2&id=1"instance 2:
"/./myCache?schema=cache&cluster_schema=partitioned&total_members=2&id=2"
When running the cache in server or in embedded mode, you must have the cache schema to be used, i.e. 'schema=cache'.
For more information on cache topoligies and the use of URLs with Gigaspaces, please see here.
For more details on Gigaspaces in general, please see http://www.gigaspaces.com/.- Since:
- 1.0
- Version:
- $Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
- Author:
- Werner Guttmann
- See Also:
- The Gigaspaces Home Page, The Gigaspaces Wiki
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringIMPLEMENTATIONThe classname of the implementations factory class.static java.lang.StringTYPEThe type of the cache.-
Fields inherited from interface org.castor.cache.Cache
DEFAULT_DEBUG, DEFAULT_NAME, DEFAULT_TYPE, PARAM_DEBUG, PARAM_NAME, PARAM_TYPE
-
-
Constructor Summary
Constructors Constructor Description GigaspacesCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetType()Indicates the type of this cache.voidinitialize(java.lang.String implementation, java.util.Properties params)Normally called to initialize CoherenceCache.voidinitialize(java.util.Properties params)Lyfe-cycle method to allow custom initialization of cache implementations.-
Methods inherited from class org.castor.cache.distributed.AbstractDistributedCache
clear, containsKey, containsValue, entrySet, get, getCache, isEmpty, keySet, put, putAll, remove, setCache, size, values
-
Methods inherited from class org.castor.cache.AbstractBaseCache
close, expire, expireAll, getName, invokeMethod, invokeStaticMethod
-
-
-
-
Field Detail
-
TYPE
public static final java.lang.String TYPE
The type of the cache.- See Also:
- Constant Field Values
-
IMPLEMENTATION
public static final java.lang.String IMPLEMENTATION
The classname of the implementations factory class.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialize
public void initialize(java.util.Properties params) throws CacheAcquireExceptionLyfe-cycle method to allow custom initialization of cache implementations.- Specified by:
initializein interfaceCache- Overrides:
initializein classAbstractBaseCache- Parameters:
params- Parameters to initialize the cache (e.g. name, capacity).- Throws:
CacheAcquireException- If cache can not be initialized.
-
initialize
public void initialize(java.lang.String implementation, java.util.Properties params) throws CacheAcquireExceptionNormally called to initialize CoherenceCache. To be able to test the method without havingcom.tangosol.net.CacheFactoryimplementation, it can also be called with a test implementations classname.- Parameters:
implementation- Cache implementation classname to initialize.params- Parameters to initialize the cache (e.g. name, capacity).- Throws:
CacheAcquireException- If cache can not be initialized.
-
getType
public java.lang.String getType()
Indicates the type of this cache.- Returns:
- The cache type.
-
-