Interface DistributedTypedRecordProcessor<T extends UnifiedRecordValue>
- Type Parameters:
T
-
- All Superinterfaces:
TypedRecordProcessor<T>
- All Known Implementing Classes:
DeploymentCreateProcessor
,ResourceDeletionDeleteProcessor
,SignalBroadcastProcessor
public interface DistributedTypedRecordProcessor<T extends UnifiedRecordValue>
extends TypedRecordProcessor<T>
Some commands are distributed to different partitions. During distribution the command gets
written on the other partitions. Depending on whether it is distributed the behavior of the
processor may slightly change. For example, if it was distributed before we don't want to
distribute it a second time.
This interface provides some convenience for commands that get distributed. Instead of checking if the command was distributed in the processor directly, the interface taskes care of it.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.camunda.zeebe.engine.processing.streamprocessor.TypedRecordProcessor
TypedRecordProcessor.ProcessingError
-
Method Summary
Modifier and TypeMethodDescriptionvoid
processDistributedCommand
(TypedRecord<T> command) Process a command that has been distributed.void
processNewCommand
(TypedRecord<T> command) Process a command that is not distributed yetdefault void
processRecord
(TypedRecord<T> command) Methods inherited from interface io.camunda.zeebe.engine.processing.streamprocessor.TypedRecordProcessor
tryHandleError
-
Method Details
-
processRecord
- Specified by:
processRecord
in interfaceTypedRecordProcessor<T extends UnifiedRecordValue>
-
processNewCommand
Process a command that is not distributed yet- Parameters:
command
- the not yet distributed command to process
-
processDistributedCommand
Process a command that has been distributed. Be aware to not distribute it again!- Parameters:
command
- the already distributed command to process
-