public interface CacheFactoryStrategy
Modifier and Type | Method and Description |
---|---|
Cache |
createCache(String name)
Creates a new cache for the cache name specified.
|
void |
destroyCache(Cache cache)
Destroys the supplied cache.
|
void |
doClusterTask(ClusterTask<?> task)
Invokes a task on other cluster members in an asynchronous fashion.
|
void |
doClusterTask(ClusterTask<?> task,
byte[] nodeID)
Invokes a task on other the specified cluster member in an asynchronous fashion.
|
<T> Collection<T> |
doSynchronousClusterTask(ClusterTask<T> task,
boolean includeLocalMember)
Invokes a task on other cluster members synchronously and returns the result as a Collection
(method will not return until the task has been executed on each cluster member).
|
<T> T |
doSynchronousClusterTask(ClusterTask<T> task,
byte[] nodeID)
Invokes a task on a given cluster member synchronously and returns the result of
the remote operation.
|
byte[] |
getClusterMemberID()
Returns a byte[] that uniquely identifies this member within the cluster or
null
when not in a cluster. |
ClusterNodeInfo |
getClusterNodeInfo(byte[] nodeID)
Returns the node info for the given cluster node
|
Collection<ClusterNodeInfo> |
getClusterNodesInfo()
Returns basic information about the current members of the cluster or an empty
collection if not running in a cluster.
|
long |
getClusterTime()
Gets the pseudo-synchronized time from the cluster.
|
Lock |
getLock(Object key,
Cache cache)
Returns an existing lock on the specified key or creates a new one if none was found.
|
int |
getMaxClusterNodes()
Returns the maximum number of cluster members allowed.
|
String |
getPluginName()
Get the plugin name corresponding to this clustering implementation
|
byte[] |
getSeniorClusterMemberID()
Returns a byte[] that uniquely identifies this senior cluster member or
null
when not in a cluster. |
boolean |
isSeniorClusterMember()
Returns true if this node is the maste node of the cluster.
|
boolean |
startCluster()
Returns true if the cluster has been started.
|
void |
stopCluster()
Stops the cluster.
|
void |
updateCacheStats(Map<String,Cache> caches)
Updates the statistics of the specified caches and publishes them into
a cache for statistics.
|
boolean startCluster()
An error should be logged when the cluster fails to be started.
void stopCluster()
Cache createCache(String name)
name
- name of the cache to create.void destroyCache(Cache cache)
cache
- the cache to destroy.boolean isSeniorClusterMember()
Collection<ClusterNodeInfo> getClusterNodesInfo()
int getMaxClusterNodes()
byte[] getSeniorClusterMemberID()
null
when not in a cluster.byte[] getClusterMemberID()
null
when not in a cluster.long getClusterTime()
void doClusterTask(ClusterTask<?> task)
task
- the task to be invoked on all other cluster members.void doClusterTask(ClusterTask<?> task, byte[] nodeID)
task
- the task to be invoked on the specified cluster member.nodeID
- the byte array that identifies the target cluster member.IllegalStateException
- if requested node was not found.<T> Collection<T> doSynchronousClusterTask(ClusterTask<T> task, boolean includeLocalMember)
T
- the return type of the cluster tasktask
- the ClusterTask object to be invoked on all other cluster members.includeLocalMember
- true to run the task on the local member, false otherwise<T> T doSynchronousClusterTask(ClusterTask<T> task, byte[] nodeID)
T
- the return type of the cluster tasktask
- the ClusterTask object to be invoked on a given cluster member.nodeID
- the byte array that identifies the target cluster member.IllegalStateException
- if requested node was not found.void updateCacheStats(Map<String,Cache> caches)
The statistics cache must contain a long array of 5 positions for each cache with the following content:
caches
- caches to get their stats and publish them in a statistics cache.Lock getLock(Object key, Cache cache)
key
- the object that defines the visibility or scope of the lock.cache
- the cache used for holding the lock.String getPluginName()
ClusterNodeInfo getClusterNodeInfo(byte[] nodeID)
nodeID
- The target cluster nodeCopyright © 2003–2020 Ignite Realtime. All rights reserved.