Class WorkflowReplayer


  • public final class WorkflowReplayer
    extends java.lang.Object
    Replays a workflow given its history. Useful for backwards compatibility testing.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void replayWorkflowExecution​(io.temporal.internal.common.WorkflowExecutionHistory history, TestWorkflowEnvironment testWorkflowEnvironment, java.lang.Class<?> workflowClass, java.lang.Class<?>... moreWorkflowClasses)
      Replays workflow from a WorkflowExecutionHistory.
      static void replayWorkflowExecution​(io.temporal.internal.common.WorkflowExecutionHistory history, io.temporal.worker.Worker worker)
      Replays workflow from a resource that contains a json serialized history.
      static void replayWorkflowExecution​(io.temporal.internal.common.WorkflowExecutionHistory history, java.lang.Class<?> workflowClass, java.lang.Class<?>... moreWorkflowClasses)
      Replays workflow from a WorkflowExecutionHistory.
      static void replayWorkflowExecution​(java.io.File historyFile, java.lang.Class<?> workflowClass, java.lang.Class<?>... moreWorkflowClasses)
      Replays workflow from a file
      static void replayWorkflowExecution​(java.lang.String jsonSerializedHistory, java.lang.Class<?> workflowClass, java.lang.Class<?>... moreWorkflowClasses)
      Replays workflow from a json serialized history.
      static void replayWorkflowExecutionFromResource​(java.lang.String resourceName, TestWorkflowEnvironment testWorkflowEnvironment, java.lang.Class<?> workflowClass, java.lang.Class<?>... moreWorkflowClasses)
      Replays workflow from a resource that contains a json serialized history.
      static void replayWorkflowExecutionFromResource​(java.lang.String resourceName, io.temporal.worker.Worker worker)
      Replays workflow from a resource that contains a json serialized history.
      static void replayWorkflowExecutionFromResource​(java.lang.String resourceName, java.lang.Class<?> workflowClass, java.lang.Class<?>... moreWorkflowClasses)
      Replays workflow from a resource that contains a json serialized history.
      static ReplayResults replayWorkflowExecutions​(java.lang.Iterable<? extends io.temporal.internal.common.WorkflowExecutionHistory> histories, boolean failFast, io.temporal.worker.Worker worker)
      Replays workflows provided by an iterable using an already-initialized worker.
      static ReplayResults replayWorkflowExecutions​(java.lang.Iterable<? extends io.temporal.internal.common.WorkflowExecutionHistory> histories, boolean failFast, java.lang.Class<?>... workflowClasses)
      Replays workflows provided by an iterable.
      • Methods inherited from class java.lang.Object

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

      • WorkflowReplayer

        public WorkflowReplayer()
    • Method Detail

      • replayWorkflowExecutionFromResource

        public static void replayWorkflowExecutionFromResource​(java.lang.String resourceName,
                                                               java.lang.Class<?> workflowClass,
                                                               java.lang.Class<?>... moreWorkflowClasses)
                                                        throws java.lang.Exception
        Replays workflow from a resource that contains a json serialized history.
        Parameters:
        resourceName - name of the resource
        workflowClass - workflow implementation class to replay
        moreWorkflowClasses - optional additional workflow implementation classes
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecutionFromResource

        public static void replayWorkflowExecutionFromResource​(java.lang.String resourceName,
                                                               io.temporal.worker.Worker worker)
                                                        throws java.lang.Exception
        Replays workflow from a resource that contains a json serialized history.
        Parameters:
        resourceName - name of the resource.
        worker - worker existing worker with the correct task queue and registered implementations.
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecutionFromResource

        public static void replayWorkflowExecutionFromResource​(java.lang.String resourceName,
                                                               TestWorkflowEnvironment testWorkflowEnvironment,
                                                               java.lang.Class<?> workflowClass,
                                                               java.lang.Class<?>... moreWorkflowClasses)
                                                        throws java.lang.Exception
        Replays workflow from a resource that contains a json serialized history.
        Parameters:
        resourceName - name of the resource.
        testWorkflowEnvironment - to be used to create a worker on a task queue.
        workflowClass - s workflow implementation class to replay
        moreWorkflowClasses - optional additional workflow implementation classes
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecution

        public static void replayWorkflowExecution​(java.io.File historyFile,
                                                   java.lang.Class<?> workflowClass,
                                                   java.lang.Class<?>... moreWorkflowClasses)
                                            throws java.lang.Exception
        Replays workflow from a file
        Parameters:
        historyFile - file that contains a json serialized history.
        workflowClass - s workflow implementation class to replay
        moreWorkflowClasses - optional additional workflow implementation classes
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecution

        public static void replayWorkflowExecution​(java.lang.String jsonSerializedHistory,
                                                   java.lang.Class<?> workflowClass,
                                                   java.lang.Class<?>... moreWorkflowClasses)
                                            throws java.lang.Exception
        Replays workflow from a json serialized history. The json should be in the format:
         {
           "workflowId": "...",
           "runId": "...",
           "events": [
             ...
           ]
         }
         
        RunId must match the one used to generate the serialized history.
        Parameters:
        jsonSerializedHistory - string that contains the json serialized history.
        workflowClass - s workflow implementation class to replay
        moreWorkflowClasses - optional additional workflow implementation classes
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecution

        public static void replayWorkflowExecution​(io.temporal.internal.common.WorkflowExecutionHistory history,
                                                   java.lang.Class<?> workflowClass,
                                                   java.lang.Class<?>... moreWorkflowClasses)
                                            throws java.lang.Exception
        Replays workflow from a WorkflowExecutionHistory. RunId must match the one used to generate the serialized history.
        Parameters:
        history - object that contains the workflow ids and the events.
        workflowClass - s workflow implementation class to replay
        moreWorkflowClasses - optional additional workflow implementation classes
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecution

        public static void replayWorkflowExecution​(io.temporal.internal.common.WorkflowExecutionHistory history,
                                                   TestWorkflowEnvironment testWorkflowEnvironment,
                                                   java.lang.Class<?> workflowClass,
                                                   java.lang.Class<?>... moreWorkflowClasses)
                                            throws java.lang.Exception
        Replays workflow from a WorkflowExecutionHistory.
        Parameters:
        history - object that contains the workflow ids and the events.
        testWorkflowEnvironment - to be used to create a worker on a task queue.
        workflowClass - s workflow implementation class to replay
        moreWorkflowClasses - optional additional workflow implementation classes
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecution

        public static void replayWorkflowExecution​(io.temporal.internal.common.WorkflowExecutionHistory history,
                                                   io.temporal.worker.Worker worker)
                                            throws java.lang.Exception
        Replays workflow from a resource that contains a json serialized history.
        Parameters:
        history - object that contains the workflow ids and the events.
        worker - existing worker with registered workflow implementations.
        Throws:
        java.lang.Exception - if replay failed for any reason.
      • replayWorkflowExecutions

        public static ReplayResults replayWorkflowExecutions​(java.lang.Iterable<? extends io.temporal.internal.common.WorkflowExecutionHistory> histories,
                                                             boolean failFast,
                                                             java.lang.Class<?>... workflowClasses)
                                                      throws java.lang.Exception
        Replays workflows provided by an iterable.
        Parameters:
        histories - The histories to be replayed
        failFast - If true, throws upon the first error encountered (if any) during replay. If false, all histories will be replayed and the returned object contains information about any failures.
        Returns:
        If `failFast` is false, contains any replay failures encountered.
        Throws:
        java.lang.Exception - If replay failed and `failFast` is true.
      • replayWorkflowExecutions

        public static ReplayResults replayWorkflowExecutions​(java.lang.Iterable<? extends io.temporal.internal.common.WorkflowExecutionHistory> histories,
                                                             boolean failFast,
                                                             io.temporal.worker.Worker worker)
                                                      throws java.lang.Exception
        Replays workflows provided by an iterable using an already-initialized worker.
        Parameters:
        histories - The histories to be replayed
        failFast - If true, throws upon the first error encountered (if any) during replay. If false, all histories will be replayed and the returned object contains information about any failures.
        worker - A worker which should have registered all the workflow implementations which were used to produce (or are expected to be compatible with) the provided histories.
        Returns:
        If `failFast` is false, contains any replay failures encountered.
        Throws:
        java.lang.Exception - If replay failed and `failFast` is true.