GemFire 7.0.1

com.gemstone.gemfire.cache.snapshot
Interface CacheSnapshotService


public interface CacheSnapshotService

Allows a snapshot of cache data to be imported and exported. Each region in the cache will be included in the snapshot (one snapshot file for each region). Example usage:

 // 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 options = snapshot.createOptions();
 options.setFilter(filter);
 
 snapshot.save(new File("."), 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:
7.0
See Also:
Cache.getSnapshotService(), SnapshotOptions

Method Summary
 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 files into the cache by applying user-configured options.
 void load(File dir, SnapshotOptions.SnapshotFormat format)
          Imports all files 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.
 

Method Detail

createOptions

SnapshotOptions<Object,Object> createOptions()
Creates a SnapshotOptions object configured with default settings. The options can be used to configure snapshot behavior.

Returns:
the default options

save

void save(File dir,
          SnapshotOptions.SnapshotFormat format)
          throws IOException
Exports all regions in the cache to the specified directory. The cache entries in each region will be written to a separate file.

Parameters:
dir - the directory for writing the snapshots, will be created if necessary
format - the snapshot format
Throws:
IOException - error writing snapshot

save

void save(File dir,
          SnapshotOptions.SnapshotFormat format,
          SnapshotOptions<Object,Object> options)
          throws IOException
Exports all regions in the cache to the specified directory by applying user-configured options. The cache entries in each region will be written to a separate file.

Parameters:
dir - the directory for writing the snapshots, will be created if necessary
format - the snapshot format
options - the snapshot options
Throws:
IOException - error writing snapshot

load

void load(File dir,
          SnapshotOptions.SnapshotFormat format)
          throws IOException,
                 ClassNotFoundException
Imports all files in the specified directory into the cache. The cache entries in a given snapshot file are loaded into the same region they were originally exported from (based on a corresponding region name). Files that do not match the supplied snapshot format will cause an import error.

Prior to loading data, all regions should have been created and any necessary serializers (either DataSerializer or PdxSerializer) and Instantiators should have been registered.

Parameters:
dir - the directory containing the snapshot files
format - the snapshot file format
Throws:
IOException - Unable to import data
ClassNotFoundException - Unable to import data

load

void load(File[] snapshots,
          SnapshotOptions.SnapshotFormat format,
          SnapshotOptions<Object,Object> options)
          throws IOException,
                 ClassNotFoundException
Imports the specified files into the cache by applying user-configured options. The cache entries in a given snapshot file are loaded into the same region they were originally exported from (based on a corresponding region name). Files that do not match the supplied snapshot format will cause an import error.

Prior to loading data, all regions should have been created and any necessary serializers (either DataSerializer or PdxSerializer) and Instantiators should have been registered.

Parameters:
snapshots - the snapshot files
format - the snapshot file format
options - the snapshot options
Throws:
IOException - Unable to import data
ClassNotFoundException - Unable to import data

GemFire 7.0.1

Copyright © 1997-2013 VMware, Inc. All rights reserved.