Interface FlowExecutionKeyFactory

All Known Implementing Classes:
AbstractFlowExecutionRepository, AbstractSnapshottingFlowExecutionRepository, DefaultFlowExecutionRepository, MockFlowExecutionKeyFactory

public interface FlowExecutionKeyFactory
A factory for creating flow execution keys. Used to generate a persistent identity for a flow execution that needs to be persisted.
Author:
Keith Donald
  • Method Details

    • getKey

      FlowExecutionKey getKey(FlowExecution execution)
      Get the key to assign to the flow execution. This factory simply generates the key to assign, it does not actually perform the key assignment.
      Parameters:
      execution - the flow execution
      Returns:
      the key to assign to the flow execution
    • updateFlowExecutionSnapshot

      void updateFlowExecutionSnapshot(FlowExecution execution)
      Capture the current state of the flow execution by updating its snapshot in storage. Does nothing if the no key has been assigned or no snapshot has already been taken.
      Parameters:
      execution - the flow execution
    • removeFlowExecutionSnapshot

      void removeFlowExecutionSnapshot(FlowExecution execution)
      Remove the snapshot that was used to restore this flow execution, discarding it for future use. Does nothing if the no key been assigned or no snapshot has been taken.
      Parameters:
      execution - the flow execution
    • removeAllFlowExecutionSnapshots

      void removeAllFlowExecutionSnapshots(FlowExecution execution)
      Remove all snapshots associated with the flow execution from storage, invalidating all history. Does nothing if no key has been assigned or no snapshots have been taken.
      Parameters:
      execution - the flow execution