Creates an Akka Streams stage that processes input
DurableEvents with stateful logic
, writes the processed events to eventLog
and emits the written
DurableEvents.
Creates an Akka Streams stage that processes input
DurableEvents with stateful logic
, writes the processed events to eventLog
and emits the written
DurableEvents. The processor supports idempotent event processing by ignoring processed DurableEvents
that have already been written in the past to eventLog
which is determined by their vectorTimestamp
s.
Behavior of the processor can be configured with:
eventuate.log.write-batch-size
. Maximum size of DurableEvent batches written to the event log. Events
are batched (with Flow.batch) if they are produced faster than this processor can process and write events.eventuate.log.write-timeout
. Timeout for writing events to the event log. A write timeout or another write
failure causes this stage to fail.This processor should be used in combination with one or more DurableEventSources.
global unique writer id.
target event log.
initial processing state.
stateful processing logic. The state part of the input is either zero
for the first stream element
or the updated state from the previous processing step for all other stream elements. The event part
of the input is the the DurableEvent input of this processor. The event part of the result must
be a sequence of zero or more DurableEvent payloads. Restricting the processing logic to
only read DurableEvent metadata allows the processor to correctly update these metadata before
processed events are written to the target event log. The processing logic can be used to drop,
transform and split DurableEvents:
Creates an Akka Streams stage that processes input
DurableEvents with stateless logic
, writes the processed events to eventLog
and emits the written
DurableEvents.
Creates an Akka Streams stage that processes input
DurableEvents with stateless logic
, writes the processed events to eventLog
and emits the written
DurableEvents. The processor supports idempotent event processing by ignoring processed DurableEvents
that have already been written in the past to eventLog
which is determined by their vectorTimestamp
s.
Behavior of the processor can be configured with:
eventuate.log.write-batch-size
. Maximum size of DurableEvent batches written to the event log. Events
are batched (with Flow.batch) if they are produced faster than this processor can process and write events.eventuate.log.write-timeout
. Timeout for writing events to the event log. A write timeout or another write
failure causes this stage to fail.This processor should be used in combination with one or more DurableEventSources.
global unique writer id.
target event log.
stateless processing logic. Input is the DurableEvent input of this processor. The result must be a sequence of zero or more DurableEvent payloads. Restricting the processing logic to only read DurableEvent metadata allows the processor to correctly update these metadata before processed events are written to the target event log. The processing logic can be used to drop, transform and split DurableEvents:
Stream-based alternative to EventsourcedProcessor and StatefulProcessor.