Package org.castor.cache.distributed
Class GigaspacesCache
java.lang.Object
org.castor.cache.AbstractBaseCache
org.castor.cache.distributed.AbstractDistributedCache
org.castor.cache.distributed.GigaspacesCache
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.
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.
or
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/.
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//invalid input: '*'/invalid input: '*'/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//invalid input: '*'/invalid input: '*'/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=cacheinvalid input: '&cluster_schema'=replicatedinvalid input: '&total_members'=2invalid input: '&id'=1"
instance 2:
"/./myCache?schema=cacheinvalid input: '&cluster_schema'=replicatedinvalid input: '&total_members'=2invalid input: '&id'=2"
or
instance 1:
"/./myCache?schema=cacheinvalid input: '&cluster_schema'=partitionedinvalid input: '&total_members'=2invalid input: '&id'=1"
instance 2:
"/./myCache?schema=cacheinvalid input: '&cluster_schema'=partitionedinvalid input: '&total_members'=2invalid input: '&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:
-
Nested Class Summary
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The classname of the implementations factory class.static final String
The 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 -
Method Summary
Modifier and TypeMethodDescriptiongetType()
Indicates the type of this cache.void
initialize
(String implementation, Properties params) Normally called to initialize CoherenceCache.void
initialize
(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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
TYPE
The type of the cache.- See Also:
-
IMPLEMENTATION
The classname of the implementations factory class.- See Also:
-
-
Constructor Details
-
GigaspacesCache
public GigaspacesCache()
-
-
Method Details
-
initialize
Lyfe-cycle method to allow custom initialization of cache implementations.- Specified by:
initialize
in interfaceCache
- Overrides:
initialize
in classAbstractBaseCache
- Parameters:
params
- Parameters to initialize the cache (e.g. name, capacity).- Throws:
CacheAcquireException
- If cache can not be initialized.
-
initialize
Normally called to initialize CoherenceCache. To be able to test the method without havingcom.tangosol.net.CacheFactory
implementation, 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
Indicates the type of this cache.- Returns:
- The cache type.
-