Class ReProcessingStateMachine


  • public final class ReProcessingStateMachine
    extends Object
    Represents the reprocessing state machine, which is executed on reprocessing.
     +------------------+   +-------------+           +------------------------+
     |                  |   |             |           |                        |
     |  startRecover()  |--->  scanLog()  |---------->|  reprocessNextEvent()  |
     |                  |   |             |           |                        |
     +------------------+   +---+---------+           +-----^------+-----------+
                                |                           |      |
     +-----------------+        | no source events          |      |
     |                 |        |                           |      |
     |  onRecovered()  <--------+                           |      |    +--------------------+
     |                 |                                    |      |    |                    |
     +--------^--------+                hasNext             |      +--->|  reprocessEvent()  |
              |            +--------------------------------+           |                    |
              |            |                                            +----+----------+----+
              |            |                                                 |          |
       +------+------------+-----+                                           |          |
       |                         |               no event processor          |          |
       |  onRecordReprocessed()  |<------------------------------------------+          |
       |                         |                                                      |
       +---------^---------------+                                                      |
                 |                                                                      |
                 |      +--------------------------+       +----------------------+     |
                 |      |                          |       |                      |     |
                 +------+  updateStateUntilDone()  <-------+  processUntilDone()  |<----+
                        |                          |       |                      |
                        +------^------------+------+       +---^------------+-----+
                               |            |                  |            |
                               +------------+                  +------------+
                                 exception                       exception
     
    See https://textik.com/#773271ce7ea2096a