Package io.debezium.connector.mongodb
Class MongoDbChangeRecordEmitter
java.lang.Object
io.debezium.pipeline.AbstractChangeRecordEmitter<MongoDbPartition,MongoDbCollectionSchema>
io.debezium.connector.mongodb.MongoDbChangeRecordEmitter
- All Implemented Interfaces:
ChangeRecordEmitter<MongoDbPartition>
public class MongoDbChangeRecordEmitter
extends AbstractChangeRecordEmitter<MongoDbPartition,MongoDbCollectionSchema>
Emits change data based on a change stream change.
- Author:
- Jiri Pechanec
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.debezium.pipeline.spi.ChangeRecordEmitter
ChangeRecordEmitter.Receiver<P extends Partition> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.BsonDocument>private static final Map<com.mongodb.client.model.changestream.OperationType,Envelope.Operation> -
Constructor Summary
ConstructorsConstructorDescriptionMongoDbChangeRecordEmitter(MongoDbPartition partition, OffsetContext offsetContext, Clock clock, com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.BsonDocument> changeStreamEvent) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcreateAndEmitChangeRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) protected voidemitCreateRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) protected voidemitDeleteRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) protected voidemitReadRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) protected voidemitUpdateRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) static booleanisValidOperation(String operation) Methods inherited from class io.debezium.pipeline.AbstractChangeRecordEmitter
emitChangeRecords, getClock, getOffset, getPartition
-
Field Details
-
changeStreamEvent
private final com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.BsonDocument> changeStreamEvent -
OPERATION_LITERALS
@Immutable private static final Map<com.mongodb.client.model.changestream.OperationType,Envelope.Operation> OPERATION_LITERALS
-
-
Constructor Details
-
MongoDbChangeRecordEmitter
public MongoDbChangeRecordEmitter(MongoDbPartition partition, OffsetContext offsetContext, Clock clock, com.mongodb.client.model.changestream.ChangeStreamDocument<org.bson.BsonDocument> changeStreamEvent)
-
-
Method Details
-
getOperation
-
emitReadRecord
protected void emitReadRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) throws InterruptedException - Specified by:
emitReadRecordin classAbstractChangeRecordEmitter<MongoDbPartition,MongoDbCollectionSchema> - Throws:
InterruptedException
-
emitCreateRecord
protected void emitCreateRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) throws InterruptedException - Specified by:
emitCreateRecordin classAbstractChangeRecordEmitter<MongoDbPartition,MongoDbCollectionSchema> - Throws:
InterruptedException
-
emitUpdateRecord
protected void emitUpdateRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) throws InterruptedException - Specified by:
emitUpdateRecordin classAbstractChangeRecordEmitter<MongoDbPartition,MongoDbCollectionSchema> - Throws:
InterruptedException
-
emitDeleteRecord
protected void emitDeleteRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) throws InterruptedException - Specified by:
emitDeleteRecordin classAbstractChangeRecordEmitter<MongoDbPartition,MongoDbCollectionSchema> - Throws:
InterruptedException
-
createAndEmitChangeRecord
private void createAndEmitChangeRecord(ChangeRecordEmitter.Receiver<MongoDbPartition> receiver, MongoDbCollectionSchema schema) throws InterruptedException - Throws:
InterruptedException
-
isValidOperation
-