VMware GemFire Java API Reference
Package org.apache.geode.cache.snapshot
Interface RegionSnapshotService<K,V>
-
- Type Parameters:
K- the cache entry key typeV- the cache entry value type
public interface RegionSnapshotService<K,V>Allows a snapshot of region data to be imported and exported. Example usage:// obtain a snapshot RegionSnapshot snapshot = region.getSnapshotService(); // export the snapshot, every region in the cache will be exported snapshot.save(new File("snapshot.gfd"), SnapshotOptions.GEMFIRE); // import the snapshot file, updates any existing entries in the region snapshot.load(new File("snapshot.gfd"), SnapshotOptions.GEMFIRE);When parallel export is used, the file name will be modified to include a unique identifier for the member that created the file, so providing a file location of "snapshot.gfd" would result in creation of multiple files with the format "snapshot-unique_id.gfd". When loading files from a parallel export, a directory can be given instead of a single file and all snapshot files in that directory will be loaded.// import directory of snapshot files snapshot.load(new File("snapshotDir"), SnapshotOptions.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 region is a partitioned region. The snapshot behavior can be changed usingSnapshotOptions. For example:RegionSnapshotService snapshot = region.getSnapshotService(); SnapshotFilter filter = new SnapshotFilter() { public boolean accept(Entry$lt;K, V$gt; entry) { return true; } }; SnapshotOptions$lt;Object, Object$gt; options = snapshot.createOptions(); options.setFilter(filter); snapshot.save(new File("snapshot.gfd"), SnapshotFormat.GEMFIRE, options);Note that the snapshot does not provide a consistency guarantee. Updates to data during the course of import/export operations could result data inconsistencies.- Since:
- GemFire 7.0
- See Also:
Region.getSnapshotService(),SnapshotOptions
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSNAPSHOT_FILE_EXTENSIONFile extension for snapshot files
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SnapshotOptions<K,V>createOptions()Creates aSnapshotOptionsobject configured with default settings.voidload(java.io.File snapshot, SnapshotOptions.SnapshotFormat format)Imports the snapshot file into the specified region.voidload(java.io.File snapshot, SnapshotOptions.SnapshotFormat format, SnapshotOptions<K,V> options)Imports the snapshot file into the specified region by applying user-configured options.voidsave(java.io.File snapshot, SnapshotOptions.SnapshotFormat format)Exports the region data into the snapshot file.voidsave(java.io.File snapshot, SnapshotOptions.SnapshotFormat format, SnapshotOptions<K,V> options)Exports the region data into the snapshot file by applying user-configured options.
-
-
-
Field Detail
-
SNAPSHOT_FILE_EXTENSION
static final java.lang.String SNAPSHOT_FILE_EXTENSION
File extension for snapshot files- See Also:
- Constant Field Values
-
-
Method Detail
-
createOptions
SnapshotOptions<K,V> createOptions()
Creates aSnapshotOptionsobject configured with default settings. The options can be used to configure snapshot behavior.- Returns:
- the default options
-
save
void save(java.io.File snapshot, SnapshotOptions.SnapshotFormat format) throws java.io.IOExceptionExports the region data into the snapshot file.- Parameters:
snapshot- the snapshot file (must end in .gfd)format- the snapshot format- Throws:
java.io.IOException- error writing snapshot
-
save
void save(java.io.File snapshot, SnapshotOptions.SnapshotFormat format, SnapshotOptions<K,V> options) throws java.io.IOExceptionExports the region data into the snapshot file by applying user-configured options.- Parameters:
snapshot- the snapshot file (must end in .gfd)format- the snapshot formatoptions- the snapshot options- Throws:
java.io.IOException- error writing snapshot
-
load
void load(java.io.File snapshot, SnapshotOptions.SnapshotFormat format) throws java.io.IOException, java.lang.ClassNotFoundExceptionImports the snapshot file into the specified region. The snapshot parameter can be either a single snapshot file or a directory containing snapshot files. If a single file, it must end in the snapshot file extension (.gfd) to be imported. If a directory, only files in the directory that end in .gfd will be loaded.Prior to loading data, the region should have been created and any necessary serializers (either
DataSerializerorPdxSerializer) andInstantiators should have been registered.- Parameters:
snapshot- the snapshot file (ending in .gfd) or a directory of .gfd snapshot filesformat- the snapshot file format- Throws:
java.io.IOException- Unable to import datajava.lang.ClassNotFoundException- Unable to import data
-
load
void load(java.io.File snapshot, SnapshotOptions.SnapshotFormat format, SnapshotOptions<K,V> options) throws java.io.IOException, java.lang.ClassNotFoundExceptionImports the snapshot file into the specified region by applying user-configured options. The snapshot parameter can be either a single snapshot file or a directory containing snapshot files. If a single file, it must end in the snapshot file extension (.gfd) to be imported. If a directory, only files in the directory that end in .gfd will be loaded.Prior to loading data, the region should have been created and any necessary serializers (either
DataSerializerorPdxSerializer) andInstantiators should have been registered.- Parameters:
snapshot- the snapshot file (ending in .gfd) or a directory of .gfd snapshot filesformat- the snapshot file formatoptions- the snapshot options- Throws:
java.io.IOException- Unable to import datajava.lang.ClassNotFoundException- Unable to import data
-
-