ehcache

net.sf.ehcache.terracotta
Interface ClusteredInstanceFactory

All Known Implementing Classes:
ClusteredInstanceFactoryWrapper

public interface ClusteredInstanceFactory

Factory for creating clustered instances

Since:
1.7
Author:
Tim Eck, Geert Bevin

Method Summary
 CacheEventListener createEventReplicator(Ehcache cache)
          Create a replicator for the cache events of a given cache
 ManagementEventSink createEventSink()
          Create a management event sink
 TerracottaStore createNonStopStore(Callable<TerracottaStore> store, Ehcache cache)
          Create a NonStopStoreWrapper for a terracottaStore
 Store createStore(Ehcache cache)
          Create a Store instance for the given cache
 TransactionIDFactory createTransactionIDFactory(String uuid, String cacheManagerName)
          Create a TransactionIDFactory
 WriteBehind createWriteBehind(Ehcache cache)
          Create an WriteBehind instance for the given cache
 boolean destroyCache(String cacheManagerName, String cacheName)
          Destroys the specified cache
 void enableNonStopForCurrentThread(boolean enable)
          Enable or disable NonStop for the current thread only.
 SoftLockManager getOrCreateSoftLockManager(Ehcache cache)
          Create a SoftLockManager for a cache
 CacheCluster getTopology()
          Get an api for looking at the clustered node topology.
 String getUUID()
          Returns a universally unique identifiers for this factory.
 void linkClusteredCacheManager(String cacheManagerName, Configuration configuration)
          Links this cache manager to the cluster
 void shutdown()
          Cleans up any resources left behind after the shutdown of the associated CacheManager
 void unlinkCache(String cacheName)
          Un-links the cache from its cluster entity
 void waitForOrchestrator(String cacheManagerName)
          Wait until the Orchestrator is running for the given CacheManager
 

Method Detail

createStore

Store createStore(Ehcache cache)
Create a Store instance for the given cache

Parameters:
cache - the cache will backed by the returned store
Returns:
store instance

getTopology

CacheCluster getTopology()
Get an api for looking at the clustered node topology.


createWriteBehind

WriteBehind createWriteBehind(Ehcache cache)
Create an WriteBehind instance for the given cache

Parameters:
cache - the cache to which the write behind will be tied
Returns:
write behind instance

createEventReplicator

CacheEventListener createEventReplicator(Ehcache cache)
Create a replicator for the cache events of a given cache

Parameters:
cache - the cache to which the replicator will be bound
Returns:
cache event replicator

getUUID

String getUUID()
Returns a universally unique identifiers for this factory.

Returns:
the identifier as a string

enableNonStopForCurrentThread

void enableNonStopForCurrentThread(boolean enable)
Enable or disable NonStop for the current thread only.

Parameters:
enable - true to enable NonStop, false otherwise.

shutdown

void shutdown()
Cleans up any resources left behind after the shutdown of the associated CacheManager


createTransactionIDFactory

TransactionIDFactory createTransactionIDFactory(String uuid,
                                                String cacheManagerName)
Create a TransactionIDFactory

Parameters:
uuid - a UUID unique to the cluster
cacheManagerName - the name of the cache manager creating a TransactionIDFactory
Returns:
a TransactionIDFactory

getOrCreateSoftLockManager

SoftLockManager getOrCreateSoftLockManager(Ehcache cache)
Create a SoftLockManager for a cache

Parameters:
cache - the cache for which to create a SoftLockManager
Returns:
a SoftLockManager

createNonStopStore

TerracottaStore createNonStopStore(Callable<TerracottaStore> store,
                                   Ehcache cache)
Create a NonStopStoreWrapper for a terracottaStore

Parameters:
store - the store for which to create a NonStopStore
Returns:
a NonStopStore

destroyCache

boolean destroyCache(String cacheManagerName,
                     String cacheName)
Destroys the specified cache

Parameters:
cacheManagerName - name of the cache manager the cache belongs to
cacheName - name of the cache
Returns:
true if the cache existed before being destroyed

waitForOrchestrator

void waitForOrchestrator(String cacheManagerName)
Wait until the Orchestrator is running for the given CacheManager

Parameters:
cacheManagerName - name of the CacheManager

linkClusteredCacheManager

void linkClusteredCacheManager(String cacheManagerName,
                               Configuration configuration)
Links this cache manager to the cluster

Parameters:
cacheManagerName - the name of the cache manager
configuration - the cache manager configuration

unlinkCache

void unlinkCache(String cacheName)
Un-links the cache from its cluster entity

Parameters:
cacheName - the cache to unlink

createEventSink

ManagementEventSink createEventSink()
Create a management event sink

Returns:
a management event sink

ehcache

Copyright 2001-2014, Terracotta, Inc.