public interface CacheSnapshotService
// obtain a snapshot
CacheSnapshotService snapshot = cache.getSnapshotService();
// export the snapshot, every region in the cache will be exported
snapshot.save(new File("."), SnapshotFormat.GEMFIRE);
// import the snapshot files, updates any existing entries in the cache
snapshot.load(new File("."), SnapshotFormat.GEMFIRE);
The default behavior is to perform all I/O operations on the node where the snapshot operations
are invoked. This will involve either collecting or dispersing data over the network if the cache
contains a partitioned region. The snapshot behavior can be changed using
SnapshotOptions. For example:
CacheSnapshotService snapshot = cache.getSnapshotService();
SnapshotFilter filter = new SnapshotFilter() {
public boolean accept(Entry entry) {
return true;
}
};
SnapshotOptions
When the parallel snapshot option is used for export, a file for each region will be created on
every member that contains data for that region and the file name will include a unique
identifier for the member that created the file. When loading a snapshot created using parallel
mode, either the files from all members can be combined into a directory to load from on a single
member or files can be distributed across any number of members and imported using the parallel
snapshot option, provided the files are in the same directory on each member.
Note that the snapshot does not provide a consistency guarantee. Updates to data during the
course of import/export operations could result data inconsistencies.Cache.getSnapshotService(),
SnapshotOptions| Modifier and Type | Method and Description |
|---|---|
SnapshotOptions<Object,Object> |
createOptions()
Creates a
SnapshotOptions object configured with default settings. |
void |
load(File[] snapshots,
SnapshotOptions.SnapshotFormat format,
SnapshotOptions<Object,Object> options)
Imports the specified snapshot files into the cache by applying user-configured options.
|
void |
load(File dir,
SnapshotOptions.SnapshotFormat format)
Imports all snapshot files (*.gfd) in the specified directory into the cache.
|
void |
save(File dir,
SnapshotOptions.SnapshotFormat format)
Exports all regions in the cache to the specified directory.
|
void |
save(File dir,
SnapshotOptions.SnapshotFormat format,
SnapshotOptions<Object,Object> options)
Exports all regions in the cache to the specified directory by applying user-configured
options.
|
SnapshotOptions<Object,Object> createOptions()
SnapshotOptions object configured with default settings. The options can
be used to configure snapshot behavior.void save(File dir, SnapshotOptions.SnapshotFormat format) throws IOException
dir - the directory for writing the snapshots, will be created if necessaryformat - the snapshot formatIOException - error writing snapshotvoid save(File dir, SnapshotOptions.SnapshotFormat format, SnapshotOptions<Object,Object> options) throws IOException
dir - the directory for writing the snapshots, will be created if necessaryformat - the snapshot formatoptions - the snapshot optionsIOException - error writing snapshotvoid load(File dir, SnapshotOptions.SnapshotFormat format) throws IOException, ClassNotFoundException
Prior to loading data, all regions should have been created and any necessary serializers
(either DataSerializer or PdxSerializer) and Instantiators should have
been registered.
dir - the directory containing the snapshot filesformat - the snapshot file formatIOException - Unable to import dataClassNotFoundException - Unable to import datavoid load(File[] snapshots, SnapshotOptions.SnapshotFormat format, SnapshotOptions<Object,Object> options) throws IOException, ClassNotFoundException
Prior to loading data, all regions should have been created and any necessary serializers
(either DataSerializer or PdxSerializer) and Instantiators should have
been registered.
snapshots - the snapshot filesformat - the snapshot file formatoptions - the snapshot optionsIOException - Unable to import dataClassNotFoundException - Unable to import data