Class AbstractCheckpointAlgorithm

  • All Implemented Interfaces:
    CheckpointAlgorithm


    public abstract class AbstractCheckpointAlgorithm
    extends java.lang.Object
    implements CheckpointAlgorithm
    The AbstractCheckpointAlgorithm provides default implementations of less commonly implemented methods.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void beginCheckpoint​()
      Override this method for the CheckpointAlgorithm to do something before a checkpoint interval begins (before the next chunk transaction begins).
      int checkpointTimeout​()
      Override this method if the CheckpointAlgorithm establishes a checkpoint timeout.
      void endCheckpoint​()
      Override this method for the CheckpointAlgorithm to do something after a checkpoint is taken (after the chunk transaction is committed).
      abstract boolean isReadyToCheckpoint​()
      Implement logic in this method to decide if a checkpoint should be taken now.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractCheckpointAlgorithm

        public AbstractCheckpointAlgorithm​()
    • Method Detail

      • checkpointTimeout

        public int checkpointTimeout​()
                              throws java.lang.Exception
        Override this method if the CheckpointAlgorithm establishes a checkpoint timeout. The default implementation returns 0, which means the maximum permissible timeout allowed by the runtime environment.
        Specified by:
        checkpointTimeout in interface CheckpointAlgorithm
        Returns:
        the timeout interval (expressed in seconds) to use for the next checkpoint interval
        Throws:
        java.lang.Exception - (or subclass) if an error occurs.
      • beginCheckpoint

        public void beginCheckpoint​()
                             throws java.lang.Exception
        Override this method for the CheckpointAlgorithm to do something before a checkpoint interval begins (before the next chunk transaction begins). The default implementation does nothing.
        Specified by:
        beginCheckpoint in interface CheckpointAlgorithm
        Throws:
        java.lang.Exception - (or subclass) if an error occurs.
      • isReadyToCheckpoint

        public abstract boolean isReadyToCheckpoint​()
                                             throws java.lang.Exception
        Implement logic in this method to decide if a checkpoint should be taken now.
        Specified by:
        isReadyToCheckpoint in interface CheckpointAlgorithm
        Returns:
        boolean indicating whether or not to checkpoint now.
        Throws:
        java.lang.Exception - (or subclass) if an error occurs.
      • endCheckpoint

        public void endCheckpoint​()
                           throws java.lang.Exception
        Override this method for the CheckpointAlgorithm to do something after a checkpoint is taken (after the chunk transaction is committed). The default implementation does nothing.
        Specified by:
        endCheckpoint in interface CheckpointAlgorithm
        Throws:
        java.lang.Exception - (or subclass) if an error occurs.