public class TerracottaBootstrapCacheLoader extends MemoryLimitedCacheLoader implements Disposable
BootstrapCacheLoader that will load Elements into a Terracotta clustered cache, based on a previously
snapshotted key set. It is also responsible to create snapshot files to disk| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEFAULT_DEDICATED_THREAD
The default on whether to do the snapshot on a dedicated thread or using the CacheManager's
ScheduledExecutorService |
static long |
DEFAULT_INTERVAL
The default interval in seconds, between each snapshot
|
| Constructor and Description |
|---|
TerracottaBootstrapCacheLoader(boolean asynchronous,
String directory,
boolean doKeySnapshots)
Constructor
|
TerracottaBootstrapCacheLoader(boolean asynchronous,
String directory,
long interval)
Constructor
|
TerracottaBootstrapCacheLoader(boolean asynchronous,
String directory,
long interval,
boolean onDedicatedThread)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Clones the loader
|
void |
dispose()
Will shut the keysnapshot thread and other resources down.
|
void |
doLocalKeySnapshot()
Calling this method will result in a snapshot being taken or wait for the one in progress to finish
|
boolean |
isAsynchronous() |
boolean |
isImmediateShutdown()
Whether the on going keysnapshot will finish before the instance is disposed
|
void |
load(Ehcache cache)
Instructs the loader to load the given cache
|
void |
setImmediateShutdown(boolean immediateShutdown)
Sets whether the disposal of the instance will let the potential current key set being written to disk finish, or whether the
shutdown will be immediate
|
void |
setSnapshotOnDispose(boolean doKeySnapshotOnDispose)
Configures the Loader to take a snapshot when it is being disposed
|
isInMemoryLimitReachedpublic static final long DEFAULT_INTERVAL
public static final boolean DEFAULT_DEDICATED_THREAD
ScheduledExecutorServicepublic TerracottaBootstrapCacheLoader(boolean asynchronous,
String directory,
boolean doKeySnapshots)
asynchronous - do the loading asynchronously, or synchronouslydirectory - the directory to read snapshot files from, and write them todoKeySnapshots - Whether to do keysnapshottingpublic TerracottaBootstrapCacheLoader(boolean asynchronous,
String directory,
long interval)
asynchronous - do the loading asynchronously, or synchronouslydirectory - the directory to read snapshot files from, and write them tointerval - the interval in seconds at which the snapshots of the local key set has to occurpublic TerracottaBootstrapCacheLoader(boolean asynchronous,
String directory,
long interval,
boolean onDedicatedThread)
asynchronous - do the loading asynchronously, or synchronouslydirectory - the directory to read snapshot files from, and write them tointerval - the interval in seconds at which the snapshots of the local key set has to occuronDedicatedThread - whether to do the snapshot on a dedicated thread or using the CacheManager's
ScheduledExecutorServicepublic boolean isImmediateShutdown()
Disposablepublic void setImmediateShutdown(boolean immediateShutdown)
immediateShutdown - true if immediate, false to let the snapshot finishpublic void load(Ehcache cache) throws CacheException
load in interface BootstrapCacheLoadercache - cache to loadCacheExceptionpublic boolean isAsynchronous()
isAsynchronous in interface BootstrapCacheLoaderpublic void dispose()
setImmediateShutdown(boolean) valuedispose in interface Disposablepublic void doLocalKeySnapshot()
throws IOException
IOException - On exception being thrown while doing the snapshotpublic Object clone() throws CloneNotSupportedException
clone in interface BootstrapCacheLoaderclone in class MemoryLimitedCacheLoaderCloneNotSupportedException - if the object's class does not support the Cloneable interface.public void setSnapshotOnDispose(boolean doKeySnapshotOnDispose)
doKeySnapshotOnDispose - whether to snapshot on loader disposalCopyright 2001-2021, Terracotta, Inc.