Class Checkpoint

  • All Implemented Interfaces:
    java.lang.Runnable

    public class Checkpoint
    extends java.lang.Object
    implements java.lang.Runnable
    Runing in a seperate thread creates a checkpoint file at predefined intervals.
    • Constructor Summary

      Constructors 
      Constructor Description
      Checkpoint​(BaseCPMImpl aCpm, java.lang.String aFilename, long aCheckpointFrequency)
      Initialize the checkpoint with a reference to controlling cpe, the file where the checkpoint is to be stored, and the frequency of checkpoints.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void delete()
      Deletes checkpoint file from the filesystem.
      void doCheckpoint()
      Serializes checkpoint information to disk.
      boolean exists()
      Returns true if configured checkpoinjt file exists on disk.
      void pause()
      Pauses checkpoint thread.
      static void printEveList​(java.util.List lst, int tCnt)
      Prints the list of Process Events in the order that they were produced.
      static void printStats​(ProcessTrace prT)
      Prints the stats.
      void rename​(java.lang.String aFilename)
      Renames previous checkpoint file.
      java.lang.Object restoreFromCheckpoint()
      Retrieves the checkpoint from the filesystem.
      void resume()
      Resumes checkpoint thread.
      void run()
      Starts the checkpoint thread and runs until the cpe tells it to stop.
      void stop()
      Stops the checkpoint thread.
      • Methods inherited from class java.lang.Object

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

      • fileName

        private java.lang.String fileName
        The file name.
      • stop

        private volatile boolean stop
        The stop.
      • checkpointFrequency

        private long checkpointFrequency
        The checkpoint frequency.
      • pause

        private boolean pause
        The pause.
      • lockForPause

        private final java.lang.Object lockForPause
        The lock for pause.
      • synchPointFileName

        private java.lang.String synchPointFileName
        The synch point file name.
    • Constructor Detail

      • Checkpoint

        public Checkpoint​(BaseCPMImpl aCpm,
                          java.lang.String aFilename,
                          long aCheckpointFrequency)
        Initialize the checkpoint with a reference to controlling cpe, the file where the checkpoint is to be stored, and the frequency of checkpoints.
        Parameters:
        aCpm - the a cpm
        aFilename - the a filename
        aCheckpointFrequency - the a checkpoint frequency
    • Method Detail

      • stop

        public void stop()
        Stops the checkpoint thread.
      • run

        public void run()
        Starts the checkpoint thread and runs until the cpe tells it to stop.
        Specified by:
        run in interface java.lang.Runnable
      • delete

        public void delete()
        Deletes checkpoint file from the filesystem.
      • pause

        public void pause()
        Pauses checkpoint thread.
      • resume

        public void resume()
        Resumes checkpoint thread.
      • doCheckpoint

        public void doCheckpoint()
        Serializes checkpoint information to disk. It retrieves data to checkpoint from the CPEEngine.
      • rename

        public void rename​(java.lang.String aFilename)
        Renames previous checkpoint file.
        Parameters:
        aFilename - - checkpoint file to rename
      • printStats

        public static void printStats​(ProcessTrace prT)
        Prints the stats.
        Parameters:
        prT - the pr T
      • printEveList

        public static void printEveList​(java.util.List lst,
                                        int tCnt)
        Prints the list of Process Events in the order that they were produced.
        Parameters:
        lst - List of ProcessEvent
        tCnt - depth of this List in the Process Trace hierarchy
      • exists

        public boolean exists()
        Returns true if configured checkpoinjt file exists on disk.
        Returns:
        - true if file exists, false otherwise
      • restoreFromCheckpoint

        public java.lang.Object restoreFromCheckpoint()
                                               throws java.io.IOException
        Retrieves the checkpoint from the filesystem.
        Returns:
        - desirialized object containing recovery information.
        Throws:
        java.io.IOException - -