Package io.camunda.zeebe.engine
Class Engine
java.lang.Object
io.camunda.zeebe.engine.Engine
- All Implemented Interfaces:
RecordProcessor<EngineContext>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidinit(EngineContext engineContext) Called by platform to initialize the processoronProcessingError(Throwable processingException, TypedRecord record, ProcessingResultBuilder processingResultBuilder) Called by platform when a processing error occurredprocess(TypedRecord record, ProcessingResultBuilder processingResultBuilder) Called by platform to process a single recordvoidreplay(TypedRecord event) Called by platform in order to replay a single record
-
Constructor Details
-
Engine
public Engine()
-
-
Method Details
-
init
Description copied from interface:RecordProcessorCalled by platform to initialize the processor- Specified by:
initin interfaceRecordProcessor<EngineContext>- Parameters:
engineContext- context object to initialize the processor
-
replay
Description copied from interface:RecordProcessorCalled by platform in order to replay a single recordContract
- Record will be an event
- Will be called before processing is called
- Implementors can write to the database. Transaction is provided by platform, which also takes care of lifecycle of the transaction
- Implementors must not write to the log stream
- Implementors must not schedule post commit tasks
- Specified by:
replayin interfaceRecordProcessor<EngineContext>- Parameters:
event- the record to replay
-
process
public ProcessingResult process(TypedRecord record, ProcessingResultBuilder processingResultBuilder) Description copied from interface:RecordProcessorCalled by platform to process a single recordContract * *
-
*
- Record will be a command
- Will be called after replay is called
- Implementors can write to the database. Transaction is provided by platform, which also * takes care of lifecycle of the transaction
- Implementors must ensure that if they generate follow up events, these are applied to the database while this method is called
- Implementors can produce follow up commands and events, client responses and on commit
tasks via
processingResultBuilder - Implementors can indicate that the record should be skipped by returning
EmptyProcessingResult.INSTANCE
- Specified by:
processin interfaceRecordProcessor<EngineContext>- Returns:
- the result of the processing; must be generated via
processingResultBuilder.build()
-
onProcessingError
public ProcessingResult onProcessingError(Throwable processingException, TypedRecord record, ProcessingResultBuilder processingResultBuilder) Description copied from interface:RecordProcessorCalled by platform when a processing error occurred- Specified by:
onProcessingErrorin interfaceRecordProcessor<EngineContext>- Returns:
- the result of the processing; must be generated via
ProcessingResultBuilder processingResultBuilder
-