GridGain™ 2.0.3
Java API Specification

org.gridgain.grid.spi.checkpoint.gigaspaces
Class GridGigaSpacesCheckpointSpi

java.lang.Object
  extended by org.gridgain.grid.spi.GridSpiAdapter
      extended by org.gridgain.grid.spi.checkpoint.gigaspaces.GridGigaSpacesCheckpointSpi
All Implemented Interfaces:
GridGigaSpacesCheckpointSpiMBean, GridCheckpointSpi, GridSpi, GridSpiManagementMBean

@GridSpiInfo(author="GridGain Systems",
             url="www.gridgain.org",
             email="support@gridgain.com",
             version="x.x")
@GridSpiMultipleInstancesSupport(value=true)
public class GridGigaSpacesCheckpointSpi
extends GridSpiAdapter
implements GridCheckpointSpi, GridGigaSpacesCheckpointSpiMBean

This class defines GigaSpaces-based implementation for checkpoint SPI. All checkpoints are stored in distributed cache and available for all nodes in the grid. Note that every node must have access to the cache. The reason for having it is because a job state can be saved on one node and loaded on another (e.g. if a job gets preempted on a different node after node failure).

Configuration

Mandatory

This SPI has no mandatory configuration parameters.

Optional

This SPI has following optional configuration parameters.

Java Example

GridGigaSpacesCheckpointSpi can be configured as follows:
 GridGigaSpacesCheckpointSpi checkpointSpi = new GridGigaSpacesCheckpointSpi();

 // Provide GigaSpaces URL.
 checkpointSpi.setSpaceUrl("/./mySpace");

 GridConfigurationAdapter cfg = new GridConfigurationAdapter();

 // Override default checkpoint SPI.
 cfg.setCheckpointSpi(checkpointSpi);

 // Start grid.
 GridFactory.start(cfg);
 

Spring Example

GridGigaSpacesCheckpointSpi can be configured from Spring XML configuration file:
 <bean id="grid.custom.cfg" class="org.gridgain.grid.GridConfigurationAdapter" singleton="true">
     ...
     <property name="checkpointSpi">
         <bean class="org.gridgain.grid.spi.checkpoint.gigaspaces.GridGigaSpacesCheckpointSpi">
             <!-- Change to GigaSpaces URL in your environment. -->
             <property name="spaceUrl" value="/./mySpace"/>
         </bean>
     </property>
     ...
 </bean>
 

Availability

Note that GigaSpaces is not shipped with GridGain. To use this SPI you need to have GigaSpaces installed or download it separately:


For information about Spring framework visit www.springframework.org



See Also:

  Documentation
  Email Support
  Online Forums
  Issue Tracking

Author:   2005-2008 Copyright © GridGain Systems. All Rights Reserved. ver. 2.0.3

See Also:
GridCheckpointSpi
 

Constructor Summary
GridGigaSpacesCheckpointSpi()
           
 
Method Summary
 org.openspaces.core.GigaSpace getSpace()
          Gets space object used by SPI.
 String getSpaceUrl()
          Gets GigaSpaces URL.
 byte[] loadCheckpoint(String key)
          Loads checkpoint from storage by its unique key.
 boolean removeCheckpoint(String key)
          This method instructs the checkpoint provider to clean saved data for a given key.
 void saveCheckpoint(String key, byte[] state, long timeout)
          Saves checkpoint to the storage.
 void setSpace(org.openspaces.core.GigaSpace gigaSpace)
          Sets GigaSpace gigaSpace object.
 void setSpaceUrl(String spaceUrl)
          Sets GigaSpaces connection URL.
 void spiStart(String gridName)
          This method is called to start SPI.
 void spiStop()
          This method is called to stop SPI.
 String toString()
          
 
Methods inherited from class org.gridgain.grid.spi.GridSpiAdapter
assertParameter, checkConfigurationConsistency, configInfo, getAuthor, getGridGainHome, getLocalNodeId, getNodeAttributes, getSpiContext, getStartTimestamp, getStartTimestampFormatted, getUpTime, getUpTimeFormatted, getVendorEmail, getVendorUrl, getVersion, onContextDestroyed, onContextInitialized, registerMBean, setSpiContext, startInfo, startStopwatch, stopInfo, unregisterMBean, warnSpi, warnSpiParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.gridgain.grid.spi.GridSpi
getNodeAttributes, onContextDestroyed, onContextInitialized
 
Methods inherited from interface org.gridgain.grid.spi.GridSpiManagementMBean
getAuthor, getGridGainHome, getLocalNodeId, getStartTimestamp, getStartTimestampFormatted, getUpTime, getUpTimeFormatted, getVendorEmail, getVendorUrl, getVersion
 

Constructor Detail

GridGigaSpacesCheckpointSpi

public GridGigaSpacesCheckpointSpi()
Method Detail

getSpaceUrl

public String getSpaceUrl()
Gets GigaSpaces URL.

Specified by:
getSpaceUrl in interface GridGigaSpacesCheckpointSpiMBean
Returns:
GigaSpaces URL.

setSpaceUrl

@GridSpiConfiguration(optional=true)
public void setSpaceUrl(String spaceUrl)
Sets GigaSpaces connection URL.

Parameters:
spaceUrl - GigaSpaces URL to set.

getSpace

public org.openspaces.core.GigaSpace getSpace()
Gets space object used by SPI.

Specified by:
getSpace in interface GridGigaSpacesCheckpointSpiMBean
Returns:
Space object.

setSpace

@GridSpiConfiguration(optional=true)
public void setSpace(org.openspaces.core.GigaSpace gigaSpace)
Sets GigaSpace gigaSpace object.

Parameters:
gigaSpace - GigaSpace gigaSpace.

spiStart

public void spiStart(String gridName)
              throws GridSpiException
This method is called to start SPI. After this method returns successfully kernel assumes that SPI is fully operational.

Specified by:
spiStart in interface GridSpi
Throws:
GridSpiException - Throws in case of any error during SPI start.
Parameters:
gridName - Name of grid instance this SPI is being started for (null for default grid).

spiStop

public void spiStop()
             throws GridSpiException
This method is called to stop SPI. After this method returns kernel assumes that this SPI is finished and all resources acquired by it are released. Note that this method can be called at any point including during recovery of failed start. It should make no assumptions on what state SPI will be in when this method is called.

Specified by:
spiStop in interface GridSpi
Throws:
GridSpiException - Thrown in case of any error during SPI stop.

loadCheckpoint

public byte[] loadCheckpoint(String key)
                      throws GridSpiException
Loads checkpoint from storage by its unique key.

Specified by:
loadCheckpoint in interface GridCheckpointSpi
Throws:
GridSpiException - Thrown in case of any error while loading checkpoint data. Note that in case when given key is not found this method will return null.
Parameters:
key - Checkpoint key.
Returns:
Loaded data or null if there is no data for a given key.

saveCheckpoint

public void saveCheckpoint(String key,
                           byte[] state,
                           long timeout)
                    throws GridSpiException
Saves checkpoint to the storage. If checkpoint exists it will be overwritten by new one.

Specified by:
saveCheckpoint in interface GridCheckpointSpi
Throws:
GridSpiException - Thrown in case of any error while saving checkpoint data.
Parameters:
key - Checkpoint unique key.
state - Saved data.
timeout - Every intermediate data stored by checkpoint provider should have a timeout. Timeout allows for effective resource management by checkpoint provider by cleaning saved data that are not needed anymore. Generally, the user should choose the minimum possible timeout to avoid long-term resource acquisition by checkpoint provider. Value 0 means that timeout will never expire.

removeCheckpoint

public boolean removeCheckpoint(String key)
This method instructs the checkpoint provider to clean saved data for a given key.

Specified by:
removeCheckpoint in interface GridCheckpointSpi
Parameters:
key - Key for the checkpoint to remove.
Returns:
true if data has been actually removed, false otherwise.

toString

public String toString()

Overrides:
toString in class Object

GridGain™ 2.0.3
Java API Specification

GridGain™ - Grid Computing Made Simple, ver. 2.0.3.20052008
2005-2008 Copyright © GridGain Systems. All Rights Reserved.