Gemfire JavaDocs_test
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.String
SNAPSHOT_FILE_EXTENSION
File extension for snapshot files
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SnapshotOptions<K,V>
createOptions()
Creates aSnapshotOptions
object configured with default settings.void
load(java.io.File snapshot, SnapshotOptions.SnapshotFormat format)
Imports the snapshot file into the specified region.void
load(java.io.File snapshot, SnapshotOptions.SnapshotFormat format, SnapshotOptions<K,V> options)
Imports the snapshot file into the specified region by applying user-configured options.void
save(java.io.File snapshot, SnapshotOptions.SnapshotFormat format)
Exports the region data into the snapshot file.void
save(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 aSnapshotOptions
object 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.IOException
Exports 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.IOException
Exports 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.ClassNotFoundException
Imports 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
DataSerializer
orPdxSerializer
) andInstantiator
s 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.ClassNotFoundException
Imports 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
DataSerializer
orPdxSerializer
) andInstantiator
s 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
-
-